/nways_accelerated_programming

N-Ways to GPU Programming Bootcamp

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

License

N-ways to GPU programming

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.

Bootcamp contents:

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

Tools and frameworks:

The tools and frameworks used in the bootcamp are as follows:

Bootcamp duration:

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.

Bootcamp prerequisites:

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.

Deploying the Bootcamp materials:

For deploying the materials, please refer to the Deployment guide present here

Attribution

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.

Licensing

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.