CSC 530 High Performance Computing
CSC 530
Course Outline
Introduction to high performance computing
Computer architecture overview
Performance measures
Optimization of code
Optimization of memory access
Compilers tuning
Optimization of parallel programs
Shared memory parallelism: multi-threading, OpenMP
Message passing parallelism: MPI
GPU programming: OpenCL, CUDA
High performance computing libraries
High performance and cloud computing
References
"Software Optimization for High Performance Computing: Creating Faster Applications", K.R. Wadleigh and I.L. Crawford, Prentice Hall, 2000.
“Performance Optimization of Numerically Intensive Codes”, Stefan Goedecker, Adolfy Hoisie, Society for Industrial Mathematics, 2001.
"Petascale Computing: Algorithms and Applications", David A. Bader (Ed.), Chapman & Hall/CRC Computational Science Series, 2007.
