Outline of courses:
Introduction to HPC Architectures, Parallel Programming Overview and Models. Cluster and CHPC Environment Set-up; Compilers, Shell Scripting and Job Submission.
Introduction to Programming Shared Memory Multicore & SMP Systems with OpenMP.
Parallel Programming Distributed Memory Systems with MPI; Introduction and Fundamentals.
Advanced Parallel Programming with MPI; Topologies and Parallel I/O.
Introduction to GPU Programming with CUDA (Note: may not be offered in 2016).