CS 374: High Performance Computing: Course Syllabus

The following table is a tentative syllabus for this course:

Week Monday Wednesday Friday Chapter
Part I: Distributed-Memory Parallelism
1   Course Overview MPI Exercise 1 1
2 Parallel Patterns Master-Worker and Message-Passing MPI Exercise 2 2
3 Parallel Algorithm Design Collective Communication Patterns MPI Exercise 3 3
4 Complexity Benchmarks and Formal Models MPI Exercise 4  
5 MPI Process Groups Parallel Matrix Multiplication    
6 Advanced MPI Topics Parallel Sorting Final Project Selection  
7 O-O MPI C++ in MPI-2 MPI Exercise 5  
Part II: Shared-Memory Parallelism
8 Basic Patterns in Pthreads Mutual Exclusion in Pthreads Pthreads Exercise 4
9 Basic Patterns in OpenMP Mutual Exclusion in OpenMP OpenMP Exercise 5
Part III: Hybrids & Accelerators
10 Hybrid Architectures MPI+OpenMP Hybrid (MPI+OpenMP) Computing 6
11 GPU Computing CUDA CUDA Computing  
12 OpenCL OpenACC OpenCL Computing  
13 Coprocessors Using Intel's Xeon Phi Using the Xeon Phi Coprocessor  
Part IV: Map-Reduce
14 Map-Reduce Using Map-Reduce Using MapReduce/Hadoop  
15 Code Optimization HPC History The Future  
16 Research and Complete Final Projects

Calvin > CS > 374 > Syllabus
This page maintained by Joel Adams.