The CUDA C/C++ program

will follow the standard NVIDIA one day course “Fundamentals of Accelerated Computing C/C++”. This course explores the structure of a Nvidia GPU, how to replace standard C/C++ methods with GPU kernels, and first steps into optimizing your code to get the best out of the GPU. You will learn how to:

  • Write code to be executed by a GPU accelerator
  • Expose and express data and instruction-level parallelism in C/C++ applications using CUDA
  • Utilize CUDA-managed memory and optimize memory migration using asynchronous prefetching
  • Leverage command line and visual profilers to guide your work
  • Utilize concurrent streams for instruction-level parallelism
  • Write GPU-accelerated CUDA C/C++ applications, or refactor existing CPU-only applications, using a profile-driven approach

Upon completion, you’ll be able to use CUDA to compile and launch CUDA kernels to accelerate your C/C++ applications on NVIDIA GPUs.

It is expected that all participants have experience programming of C/C++ competency including familiarity with variable types, loops, conditional statements, functions, and array manipulations.

Day

10:00 am Accelerating Applications with CUDA C/C++

12:00 pm Managing Accelerated Application Memory with CUDA C/C++ Unified Memory and nvprof

13:00 pm Lunch

14:00 pm Continue Managing Accelerated Application Memory with CUDA C/C++ Unified Memory and nvprof

15:00 pm Asynchronous Streaming, and Visual Profiling for Accelerated Applications with CUDA C/C++

17:00 Course End