Open MP review….

January 16, 2010

Open MP (Open Multi Processing ) is an open standard for writing shared memory parallel programming in C, C++ and Fortran, in the form of mainly compiler directives, library routines and environtment variables. This open standard is supported by multiple architectures/platform including UNIX/Linux and Windows NT.

Open MP follows the fork-join parallel execution model.An Open MP program starts its execution as a single thread (called initial

thread) and assumes the execution sequentially . This sequential program gradually evolves as a parallel program , as a `team of threads` is created when the master (or initial) thread comes across a parallel construct in the code to share the workload.Each task is assigned and tied to a different thread in the team. At the end of the parallel construct , all threads syncronise and get terminated. Only the master thread continues the further execution. Within a single program , you can mark any number of parallel construct.

When any thread team encounters a work sharing construct, the work inside the construct is offloaded and distributed among its members, and gets executed cooperatively, instead of the whole work being executed by every thread, multiple times. Each thread just has its portion of work, which it executes synchronously.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: