N Ways to GPU Programming

N Ways to GPU Programming

30th Sep 2021, full day course, TBA

Learning Objectives

With the release of NVIDIA CUDA in 2007, different approaches to GPU programming have evolved. Each approach has its own advantages and disadvantages. By the end of this bootcamp session, participants will have a broader perspective on GPU programming approaches to help them select a programming model that better fits their application’s needs and constraints. The bootcamp will teach how to accelerate a real-world scientific application using the following methods:

  • Standard: C++ stdpar, Fortran Do-Concurrent
  • Directives: OpenACC, OpenMP
  • Frameworks: Kokkos
  • Programming Language Extension: CUDA C, CUDA Fortran, Python CuPy, Python Numba

Bootcamp Outline

During this lab, we will be working on porting mini applications in Molecular Simulation (MD) domain to GPUs. You can choose to work with either version of this application.

Bootcamp Duration

The lab material will be presented in an 8-hour session. A Link to the material is available for download at the end of the lab.

Content Level

Beginner, Intermediate

Target Audience and Prerequisites

The target audience for this lab are researchers/graduate students and developers who are interested in learning about various ways of GPU programming to accelerate their scientific applications.

Basic experience with C/C++ or Python or Fortran programming is needed. No GPU programming knowledge is required.