Graphic processors with massive parallelism (GPU) are increasingly used as computational accelerators suitable for highly parallel applications. The latest upgrade of GWDGâ€™s Compute Cluster for High Performance Computing has added nodes with a total of 50 GPU accelerator cards. CUDA is a widely used programming environment for GPUs. This course introduces hardware and parallelization concepts for GPUs. The CUDA programming environment is described in detail. both for C and Fortran, including the language elements for controlling the processor parallelism and for accessing the various levels of memory. The use of GPU accelerated libraries (cuBLAS, cuFFT) is demonstrated. All topics are explained by means of examples in practical exercises.
Use of CUDA to optimize algorithms on GPU
Using the GWDG Scientific Compute Cluster - An Introduction, or equivalent knowledge. Practical experience with C. For the practical exercises: GWDG account (preferable) or course account (available upon request), own notebook.