/cuda_programming

Code from the "CUDA Crash Course" YouTube series by CoffeeBeforeArch

Primary LanguageCudaGNU General Public License v3.0GPL-3.0

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