The N-Ways to GPU Programming Bootcamp covers the basics of GPU programming and provides an overview of different methods for porting scientific application to GPUs using NVIDIA® CUDA®, OpenACC, standard languages, OpenMP offloading, and/or CuPy and Numba. Throughout the bootcamp, attendees with learn how to analyze GPU-enabled applications using NVIDIA Nsight™ Systems and participate in hands-on activities to apply these learned skills to real-world problems.
Running on TWCC
Please follow this TWCC README to run the tutorials on TWCC.
The content is structured in multiple options covering the following:
-
Option 1: N-Ways to GPU Programming-C-Fortran
- NVIDIA® Nsight™ Systems
- NVIDIA® Nsight™ Compute (Optional, lecture only)
- Lab 1: ISO C++ and ISO Fortran
- Lab 2: OpenACC
- Lab 3: OpenMP offloading
- Lab 4: CUDA
- Lab 5: Memory Coherent Architectures
-
Option 2: N-Ways to GPU Programming-Python
- NVIDIA® Nsight™ Systems
- NVIDIA® Nsight™ Compute (Optional, lecture only)
- Lab 1: CuPy
- Lab 2: Numba
The tools and frameworks used in the bootcamp are as follows:
The N-Ways to GPU Programming-C-Fortran Bootcamp will take approximately 6 hours and the N-Ways to GPU Programming-Python Bootcamp will take approximately 4.5 hours.
Basic experience with C/C++ or Fortran is needed for the "N-Ways to GPU Programming-C-Fortran" Bootcamp and Python is needed for the "N-Ways to GPU Programming-Python" Bootcamp. No GPU programming experience is required.
For deploying the materials, please refer to the Deployment guide present here
This material originates from the OpenHackathons Github repository. Check out additional materials here.
Don't forget to check out additional Open Hackathons Resources and join our OpenACC and Hackathons Slack Channel to share your experience and get more help from the community.
Copyright © 2023 OpenACC-Standard.org. This material is released by OpenACC-Standard.org, in collaboration with NVIDIA Corporation, under the Creative Commons Attribution 4.0 International (CC BY 4.0). These materials may include references to hardware and software developed by other entities; all applicable licensing and copyrights apply.