Chapter 6

OpenMP

Abstract

OpenMP is an application programming interface (API) for platform-independent shared-memory parallel programming in C, C++, and Fortran. It pursues a semi-automatic parallelization approach which allows for the augmentation of sequential code using simple compiler directives in contrast to the explicit programming model of C++11 multithreading which involves the manual spawning, joining, and synchronization of threads. As an example, complex schedules, task parallelism, the convenient parallelization of loops and reductions can be realized with just a few additional lines of code. Despite its simplicity, the parallelization efficiency of OpenMP-augmented CPU code is often as good as handcrafted solutions using ...

Get Parallel Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.