GPGPU Programming with CUDA
This repository contains all code from the YouTube series "CUDA Crash Course (v2)" by CoffeeBeforeArch.
Contact
Suggestions for specific content can be sent to: CoffeeBeforeArch@gmail.com
Environment
Operating System: Ubuntu 18.04
Text Editor: VIM
GPU: NVIDIA GTX 1050 Ti
CUDA version: 10.0, 9.1
Concepts covered in each video
Environment Setup
Video | Concepts | Files |
---|---|---|
Visual Studio 2019 | IDE, Linker | |
Linux | VIM, NVCC |
Vector Addition
Video | Concepts | Files |
---|---|---|
Baseline | Allocation, Copying Memory, Indexing, Thread IDs, PTX, SASS | |
Pinned Memory | Pinned Memory | |
Unified Memory | Unified Memory, Prefetching |
Matrix Multiplication (GEMM)
Video | Concepts | Files |
---|---|---|
2D Indexing | ||
Shared Memory |
Sum Reduction
Video | Concepts | Files |
---|---|---|
Inter-kernel synchronization | ||
Cooperative Groups |
Convolution
Video | Concepts | Files |
---|---|---|
Constant Memory |
Histogram
Video | Concepts | Files |
---|---|---|
Global Atomics | ||
Shared Memory Atomics |