Many scientific modelling programs rely on numerical iterative methods, e.g. Finite Difference method, Conjugate Gradient method etc. or stochastic methods such as Monte-Carlo methods. The nature of those methods heavily involves iterations. More often they are the bottleneck of the code's performance.
OpenMP is a directive-based API (application programming interface) for writing parallel programs on a shared-memory system. The implementation renders parallelism for programs by running concurrent multithreads. The common usage case is to accelerate nested loops by sharing workloads between multiple threads, which had been its main delivery before OpenMP 3.0.
The workshop is designed to introduce some most common yet powerful OpenMP practices to scientists to quickly turn a serial iterative C code into parallel.
If you have any questions regarding this training, please contact training.nci@anu.edu.au.
Registration for 2022 is now closed. Please stay tuned for sessions in 2023.
A new session on 6th December 2023 opens for registration.
Only basic experience with C/C++ is required. Knowledge about C preprocessor directives, functions, pointer array is sufficient.
Serial codes will be provided for the exercises. The training will focus on OpenMP programming and C programming is secondary.
The training is designed to be the first parallel programming course for scientists. As such, it aims to help attendees
At the completion of this training session, you will be able to