CS 631      

      Advanced Parallel Computing      

      Logistics      

    Home     Structure     Training

Course Structure

The course will (roughly) be divided into six content areas:
  • parallel architecture and hardware (1 week)
  • parallel programming models (1 week)
  • high-level parallel programming frameworks (1 weeks)
  • parallel runtime systems (1 week)
  • parallel performance analysis and tools (1 week)
  • libraries, algorithms and applications (1 week)
  • heterogeneous computing (1 week)
  • parallel systems environments (1 week)
  • special topics (1 week)

Parallel programming training

An important objective of the course is to provide training opportunities to graduate students to become proficient (hopefully expert!) in parallel programming methodologies and technologies. We will be focusing on the following:

  • Distributed memory message passing: MPI
  • Shared memory multi-threading: OpenMP and OpenACC
  • Manycore (accelerator, coprocessor) programming: OpenACC and CUDA
  • Heterogeneous programming: Kokkos and oneAPI

The hope is to do this in a structured training environment. There are several resources online for this purpose.

Class time will mostly be used for lecture. Thus, the parallel programming training organized outside of class meeting.