Post-PASI training: Week 1 » Panamerican Advanced Studies Institute » Boston University
Lab1 – slides
Lab1 – Codes
matrixMultiplication.cu
Lecture 2 – slides
Lab2 – Slides
Lab2 – Codes
FD_2D_global.cu
FD_2D_texture_pad.cu
Lecture 3 – Slides
Class 1 (August 8th):
Lecture 1 – slides- Understand the need for multi-core in applications
- Manycore architecture:
- GPU vs CPU chip design
- Data parallelism
- Concepts behind a CUDA-friendly algorithm
- Basic CUDA:
- C-like language
- Threads and thread hierarchy
- Launching a CUDA kernel
Lab1 – slides
Lab1 – Codes
matrixMultiplication.cu
- Familiarize with CUDA and nvcc compiler
- Device query
- Launch a simple vector add
- Implement a matrix matrix multiplication
- References:
- Kirk, D. and Hwu, W. Programming Massively Parallel Processors. (Ch. 1, Ch. 2, Ch. 3)
- CUDA C Programming Guide. Version 4. Ch. 1-2
Lecture 2 – slides
- Programming model: mapping the discretized model to the GPU threads
- Warps and warp scheduling
- Multilevel memory hierarchy
- Shared, global, registers, textures, constant, texture memories
- Sizes and latency
- Fundamentals of the finite difference method
Lab2 – Slides
Lab2 – Codes
FD_2D_global.cu
FD_2D_texture_pad.cu
- Implementation 2D explicit heat transfer with global memory
- Implementation 2D explicit heat transfer with texture memory
- References:
- Kirk, D. and Hwu, W. Programming Massively Parallel Processors (Ch. 4)
- Micikevicius P. 3D Finite Difference Computations on GPUs using CUDA
- Sanders, J. And Kandrot E. CUDA by Example. (Ch. 7)
Lecture 3 – Slides
- Shared memory in detail
- Tiling
- Bank conflicts
- Race conditions and atomic operations
- References:
- Kirk, D. and Hwu, W. Programming Massively Parallel Processors. (Ch. 4, Ch. 5)
- Micikevicius P. 3D Finite Difference Computations on GPUs using CUDA

No hay comentarios:
Publicar un comentario
Gracias por comentar!