BLG 553E - Special Topics in Compu.Eng.
Course Objectives
Understanding the CUDA programming model and GPU micro-architecture.
Studying and understanding the performance of CUDA programs and learning to develop efficient parallel programs using CUDA.
Course Description
Introduction to GPGPU computing. Principles of parallel algorithm design. CUDA programming model. GPU micro-architecture. Occupancy, GPU performance and performance analysis and debugging tools. Branch divergence and control flow optimizations. GPU memory system. Memory system optimizations. Unified Memory and CPU-GPU cooperative computing. Synchronization, atomics, cache coherence, memory consistency. Parallel patterns, Histogram, Prefix-sum, etc. Dynamic parallelism, streams, multi-GPU programming. CUDA libraries, CuBlas, CuDNN, NPP, NvGraph, cuFFT, NCCL, cuSPARSE, etc. Other GPU programming environments, OpenCL and HSA.
|
 |
Course Coordinator
Ayşe Yılmazer Metin
Course Language
English
|
 |
|