Skip to content

CUDA/GPU Programming

External documentation, tutorials and courses related to GPU developing with CUDA.

Patatrack

Patatrack Wiki.

Patatrack Website.

Courses

Caltech - GPU Programming [CS 179]

Caltech course

Presentations and introductory material

  1. Introduction to GPUs by NYU
  2. Previous Patatrack Knowledge transfer
  3. Direct link to Welcome and Introduction to Parallel Programming
  4. Direck link to Introduction to GPU programming using CUDA
  5. Direct link to SoA model for Pixel Reconstruction (and beyond?)
  6. Direct link to A fully Heterogeneous Pixel Reconstruction

Hands-on training

NVIDIA CUDA Workshop

An official NVIDIA introductory workshop.

Warning

This requires that you have access to a NVIDIA GPU-capable computer with nvcc and ncu installed.

Tip

ncu is only supported by a limited GPUs as of writing (2024/08). You can replace all ncu calls you see in the notebooks with nvprof if ncu does not work for your card.

  • Download and extract this file.
  • Create a python3 virtual environment and activate it.
  • Run pip install jupyterlab.
  • Run jupyter lab.

Angela's GPU programming primer

Follow the material found here.

Patatrack

Solve all exercises here https://patatrack.web.cern.ch/patatrack/wiki/cuda_training_dpg_12_2019/.

Part 1

Part 2

Part 3

CUDA algorithms in CMSSW documentation

CUDA algorithms in CMSSW documentation image

CUDA Programming Guide

nvidia CUDA Documentation