[HYBRID] Programming GPUs with CUDA and C/C++
from
Wednesday, 9 October 2024 (09:10)
to
Thursday, 10 October 2024 (17:00)
Monday, 7 October 2024
Tuesday, 8 October 2024
Wednesday, 9 October 2024
10:00
Heterogeneous Parallel Computing
10:00 - 10:10
10:10
GPU Architecture
10:10 - 10:35
10:35
Hands-on: Accessing GPU accelerated nodes
10:35 - 11:00
11:00
Hands-on: Benchmark HW properties
11:00 - 11:15
11:15
CUDA Programming
11:15 - 11:45
11:45
Hands-on: Hello World in CUDA
11:45 - 12:00
12:00
Lunch Break
Lunch Break
12:00 - 13:00
13:00
CUDA Programming cont.
13:00 - 13:20
13:20
Hands-on: Vector Addition (single GPU, two versions)
13:20 - 14:00
14:00
Multi-GPU programming
14:00 - 14:15
14:15
Hands-on: Vector Addition (multi-GPU)
14:15 - 14:35
14:35
Coffee Break
Coffee Break
14:35 - 14:55
14:55
Efficient Host-Device Data Transfer and CUDA Streams
14:55 - 15:10
15:10
Hands-on: Streams
15:10 - 15:50
15:50
Multi-Dimensional Grids
15:50 - 16:05
16:05
Hands-on: Image Blur
16:05 - 16:25
16:25
Thread Execution
16:25 - 16:40
Thursday, 10 October 2024
09:00
CUDA Memories
09:00 - 09:10
09:10
Global Memory
09:10 - 09:25
09:25
Hands-on: Matrix Sum
09:25 - 09:45
09:45
Shared Memory – Basics
09:45 - 09:55
09:55
Shared Memory – Bank conflicts
09:55 - 10:10
10:10
Hands-on: Matrix Transpose – Shared memory bank conflicts
10:10 - 10:30
10:30
Coffee Break
Coffee Break
10:30 - 10:50
10:50
Memory and Data Locality: Tiling Technique
10:50 - 11:05
11:05
Parallel Computation Patterns: Stencil
11:05 - 11:25
11:25
Hands-on: Stencil – 1D Convolution
11:25 - 11:45
11:45
Parallel Computation Patterns: Reduction
11:45 - 12:00
12:00
Hands-on: Parallel Reduction
12:00 - 12:20
12:20
Parallel Computation Patterns: Histogram
12:20 - 12:40
12:40
Hands-on: Histogram – Data Race, Atomics, Privatization
12:40 - 13:00