Fundamentals of Accelerated Computing with CUDA C/C++


Together with Nvidia, we are offering a workshop on accelerated computing with CUDA in C/C++.

The Workshop will take place virtually. Participants will be provided with access to a suitable GPU setup.

Connection details for the workshop as well as required steps for access to the setup will be sent to the participants prior to the event.

Learning Objectives

By participating in this workshop, you’ll:

  • 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


  • Basic C/C++ competency, including familiarity with variable types, loops, conditional statements, functions, and array manipulations
  • No previous knowledge of CUDA programming is assumed


This workshop is part of the Nvidia Deep Learning Institute, further details can be found at


48 / 48
Participants Feedback
    • 09:00 09:15
      Introduction 15m

      Meet the instructor.
      Create an account at

    • 09:15 11:15
      Accelerating Applications with CUDA C/C++ 2h

      Learn the essential syntax and concepts to be able to write GPU-enabled C/C++ applications with CUDA:

      Write, compile, and run GPU code.
      Control parallel thread hierarchy.
      Allocate and free memory for the GPU.

    • 11:15 12:15
      Break 1h
    • 12:15 14:15
      Managing Accelerated Application Memory with CUDA C/C++ 2h

      Learn the command-line profiler and CUDA-managed memory, focusing on observation-driven application improvements and a deep understanding of managed memory behavior:

      Profile CUDA code with the command-line profiler.
      Go deep on unified memory.
      Optimize unified memory management.

    • 14:15 14:30
      Break 15m
    • 14:30 16:30
      Asynchronous Streaming and Visual Profiling for Accelerated Applications with CUDA C/C++ 2h

      Identify opportunities for improved memory management and instruction-level parallelism:

      Profile CUDA code with the NVIDIA Visual Profiler.
      Use concurrent CUDA streams.

    • 16:30 16:45
      Final Review 15m

      Review key learnings and wrap up questions.
      Complete the assessment to earn a certificate.
      Take the workshop survey.

Your browser is out of date!

Update your browser to view this website correctly. Update my browser now