Students will learn how to program multicore processors and HPC systems with OpenMP and MPI. Tuning is accomplished by using specialized tools.
Parallel Programming in C/C++ on distributed memory systems is often done using the de-facto standard OpenMP. The threads communicate via the shared memory. In contrast, High Performance Systems are normally programmed with MPI (Message Passing Interface) where communication is done explicitely via messages. Both standard models are shown and evaluated with graphical tools. For that a heat distribution simulation in a solid body will be parallelized and optimized in both models. In the end an alpha beta search for an Abalone game engine will be implemented and tested against the implementations of the other groups in a competition.
In addition to the ability to work on Linux computers, good knowledge in C/C++ is required for the programming tasks.