Post-PASI training: Week 3
Syllabus
Class 6 (August 22nd):
Lecture 6 – Slides
- Overview of CUDA libraries
- Thrust library: STL for CUDA
- Overview of features:
- Containers
- Iterators
- Algorithms
- Best practices in Thrust
Lab 5 (August 23rd):
- Do examples using thrust:
- Sum, sort, element wise operation, copy_if, etc.
- Welding triangles example
- References:
Class 7 (August 24th):
- Overview of sparse matrices
- Sparse matrix formats
- Solvers and preconditioners
- Cusp library: Sparse matrix algebra in CUDA
- Matrix containers in Cusp: types and formats
- Solvers: CG, BiCG, GMRES, etc.
- Preconditioners
- Example: 2D Finite difference Poisson
Lab 6 (August 25th):
- Implement 2D Poisson solver with Cusp
- Compare timings with different:
- Solvers
- Preconditioners
- Matrix formats
- Implement a sparse matrix vector multiplication
- References:
Class 8 (August 26th):
- CUFFT: Fast Fourier Transform in CUDA
- PyCUDA: GPU computing using Python