Outline of courses:
Introduction to HPC Architectures, Parallel Programming Overview and Models. UJ Cluster and CHPC Environment Set-up; Compilers, Shell Scripting and Job Submission.
Introduction to Programming Shared Memory Multicore & SMP Systems with OpenMP.
Parallel Programming Distributed Memory Systems with MPI; Introduction and Fundamentals.
Advanced Parallel Programming with MPI; Topologies and Parallel I/O.
GPGPU: Introduction to GPU Programming with CUDA, OpenCL or rapid prototyping tools.
HPC Visualization Tools and Applications: Paraview/VTK, OpenFOAM and others.