Rookie HPC

About OpenMP

What is it?

OpenMP, which stands for Open Multi-Processing; is an Application Programming Interface (API) for writing multithreaded applications.

It has been around since 1997 and is maintained by a group called the OpenMP Architecture Review Board. You can go on the OpenMP website to learn more.

Why did we need OpenMP?

Multithreading has been long known, but it's not always easy to program. OpenMP proposes a different approach; decorating your code with directives. The advantage being you can write your code thinking serially, then parallelise it incrementally without having to rewrite your code or know about low-level parallelism concerns.

Having been a key player in HPC for the last 20 years and continuously improved in the meantime, no need to say that the performance of OpenMP is quite competitive.