This page is under construction and updates are being made on a regular basis.
OpenMP (Open Multi-Processing) is a widely-used API that supports multi-platform shared memory multiprocessing programming in C, C++, and Fortran. It provides a set of compiler directives, library routines, and environment variables that allow developers to write parallel code for multi-core and multi-processor systems.
Programming CPUs using OpenMP
- Hello World example
- Parallel Construct
- Parallelize for loops
- Data Sharing Attribute Clauses
- shared
- private
- firstprivate
- lastprivate
- Master Construct
- Single Construct
- OpenMP Sections
- OpenMP Reductions
- OpenMP Scheduling
- Synchronization in OpenMP
- Critical Sections
- Atomic Operations
- Barrier Synchronization
- OpenMP Tasking
- Other tutorials
Programming GPUs using OpenMP – OpenMP Offload
- Hello World example
- Maximizing the GPU compute utilization
- Teams Construct
- Distribute Construct
- Optimizing the data transfers
- Target data Construct
- Target update Construct