/lecture2

Obsolete version of CUDA-mode repo -- use cuda-mode/lectures instead

Primary LanguageJupyter Notebook

Note: Don't use this repo! It has been replaced. The material of all cuda-mode lectures (including 2 & 3) has been consolidated into a new cuda-mode/lectures repo -- please use that instead of this one. The repo you're now looking at is out of date and only here for historical reasons.

Obsolete Material for Lectures 2 & 3

Lecture 2

  • Recap Ch. 1-3 from the PMPP book
  • Date: 2024-01-20, Speaker: Andreas Koepf, Book: Programming Massively Parallel Processors: A Hands-on Approach (Amazon link)
  • Slides: The powerpoint file cuda_mode_lecture2.pptx can be found in the root directory of this repository. Alternatively here as Google docs presentation.
  • Examples: Please make sure PyTorch (2.1.2) and cuda-toolkit (nvcc compiler) are installed.
    • vector_addition: Classic CUDA C example, to compile use make in the vector_addition directory.
    • rgb_to_grayscale: Example uses PyTorch's torch.utils.cpp_extension.load_inline feature to compile a custom RGB to grayscale kernel and uses it to convert input image to grayscale and which is saved in as output.png. Run in the rgb_to_grayscale folder python rgb_to_grayscale.py.
    • mean_filter: This example also uses the PyTorch's cpp_extension.load_inline feature to compile a mean filter kernel. The kernel read pixel values in the surrounding (square area) of a pixel and computes the average value for each RGB channel individualy. The result is saved to output.png. Run in the mean_filter folder python mean_filter.py.

Lecture 3

  • Title: Getting Started With CUDA
  • Date: 2024-01-27, Speaker: Jeremy Howard
  • Notebook: See the lecture3 folder, or run the Colab version