Why OpenMP ?
OpenMP is :
- Portable
The API is specified for C/C++ and FORTRAN
Supported in Most major platforms e.g. Unix and
Windows |
- Standardized
- Lean and Mean
- Easy in use
We should parallelize only when the overhead due to parallelization is less than the speed-up obtained.
Components of OpenMP
OpenMP consists of a set of compiler directives, library routines, and environment variables that influence run-time behavior
Directives |
Environment Variables |
Runtime Environment |
- Parallel Regions
- Work Sharing
- Synchronization
- Data Sharing
Attributes
- Orphaning
|
- Number of
- Threads
- Scheduling Type
- Dynamic Thread
Adjustment
- Nested Parallelism
|
- Number of Threads
- Thread ID
- Dynamic Thread
Adjustment
- Nested Parallelism
- Timers
- API for Locking
|
|