everything.study
APMA 2822B

Introduction to Parallel Computing on Heterogeneous (CPU+GPU) Systems

This course we will learn fundamental aspects of parallel computing on heterogeneous systems composed of multi-core CPUs and GPUs. This course will contain lectures and hands-on parts. We will cover the following topics: shared memory and distributed memory programming models, parallelization strategies and nested parallelism. We will also learn techniques for managing memory and data on systems with heterogeneous memories (DDR for CPUs and HBM for GPUs); parallelization strategies using OpenMP and MPI; programming GPUs using OpenMP4.5 directives and CUDA. We will focus on programming strategies and application performance. Grading will be based on home-work assignments, and final project.

Sources