Post-PASI training: Week 4
Syllabus
Class 9 (August 29th):
- Challenges of GPU implementations in CFD codes
- The role of sparse matrices in CFD:
- Importance of implicit schemes
- Explanation of the 2D implicit heat transfer using Crank Nicolson:
- Getting from the mesh to the matrix
Lab 7 (August 30th):
FD_2D_cusp.cu (shared memory version)
FD_2D_cusp_global.cu (global memory version)
(See global memory version first, it’s easier to understand)
- Implementation of 2D implicit heat transfer
- Use 2D stencil codes and Cusp
- References:
Class 10 (August 31st):
- N-body simulation with GPU
- Example of applications:
- Astrophysics
- Surface reconstruction with RBF
- Others (MD)
- Revisit optimizations:
- Shared memory use and tiling
- Loop unrolling and other optimization techniques
Lab 8 (September 1st):
nbody_gpu.cu (N body tiled version)
nbody_gpu_2.cu (N body with N not a multiple of threads per block)
nbody_optimized.cu (N body with bigger tiles)
- Implementation of a fast N-body simulation
- References:
- Nyland, Harris, Prins. “Fast N-body Simulation with CUDA”. GPU Gems 3, Chapter 31.