Openmp: What, Why & How: - Param Vyas (07bec116)
Openmp: What, Why & How: - Param Vyas (07bec116)
How
-Param Vyas(07BEC116)
What is OpenMP? (Overview)
Open Multi-processing
OpenMP is :
An API
Standardized
portable
Scalable
Incremental parallelism
Supports data parallelism
Where OpenMP is beneficial?
OpenMP is not…
Meant for distributed memory parallel systems (by itself)
Necessarily implemented identically by all vendors
Guaranteed to make the most efficient use of shared memory
Required to check for data dependencies, data conflicts, race
conditions, or deadlocks
Required to check for code sequences that cause a program to
be classified as non-conforming
Meant to cover compiler-generated automatic parallelization and
directives to the compiler to assist such parallelization
Designed to guarantee that input or output to the same file is
synchronous when executed in parallel. The programmer is
responsible for synchronizing input and output.
Programming Model In OpenMP
#pragma directives
Format:
#pragma omp directive_name [ clause [ clause
] ... ] new-line
case sensitive
OpenMP Clauses
OpenMP.org
Various papers,tutorials and discussions
Wikipedia.org
Articles on OpenMP and related information
Thank You.