Welcome to Many Ways to GPU Programming
In this course, you will use a number of different approaches to accelerate an example molecular dynamics application on GPU hardware. The aim is to provide you with a practical understanding of the differences between each approach, the trade-offs involved, and even if multiple approaches might be used in a single codebase.
This course is delivered through a combination of presentations and reinforcement activities, like Multiple Choice Questions and hands-on exercises using Jupyter Notebooks.
The estimated time to complete this course is 4.5 hours.
What you will learn:
- Understand the differences between CPUs and GPUs.
- Explore the fundamentals of GPU-accelerated computing.
- Use NVIDIA Nsight Systems to profile and analyse applications.
- Write basic programs in C++, C, or Fortran.
- Apply OpenACC directives within C/C++ and Fortran applications.
- Use OpenMP directives for GPU-enabled programming.
- Develop and run CUDA kernels within C/C++ or Fortran applications.
- Explore approaches for optimising code for GPU architectures.
Prerequisites:
- Knowledge of a language like C, C++, or Fortran.
Last modified: Tuesday, 21 July 2026, 10:06 AM