In this course, we will learn how to use parallel programming tools to solve problems in science and engineering.
Basic programming skills in a compiled language such as C, C++ or Java is desirable, as is some knowledge of interpreted languages such as Python, Matlab or Julia.
- Parallel tools available in Python
- Basics of MPI, includin MPI I/O, derived types.
- CUDA programming
- Version control using Git
- Build systems using Make and CMake
- Scripting using Jupyter Notebooks.
- Introduction to C programming for scientific computing.