Our website uses cookies to enhance your browsing experience.
Accept
to the top
close form

Fill out the form in 2 simple steps below:

Your contact information:

Step 1
Congratulations! This is your promo code!

Desired license type:

Step 2
Team license
Enterprise license
** By clicking this button you agree to our Privacy Policy statement
close form
Request our prices
New License
License Renewal
--Select currency--
USD
EUR
* By clicking this button you agree to our Privacy Policy statement

close form
Free PVS‑Studio license for Microsoft MVP specialists
* By clicking this button you agree to our Privacy Policy statement

close form
To get the licence for your open-source project, please fill out this form
* By clicking this button you agree to our Privacy Policy statement

close form
I am interested to try it on the platforms:
* By clicking this button you agree to our Privacy Policy statement

close form
check circle
Message submitted.

Your message has been sent. We will email you at


If you do not see the email in your inbox, please check if it is filtered to one of the following folders:

  • Promotion
  • Updates
  • Spam

Webinar: Evaluation - 05.12

>
>
>
OpenMP

OpenMP

Dec 26 2011

OpenMP is a standard of programming on scaling SMP-systems (SSMP, ccNUMA etc) in the shared memory model. In the shared memory programming model all the processes use the common address space which they asynchronously address with reading and writing requests. OpenMP standard includes specifications of the set of the compiler's directives and the environment's functions and variables. Development of OpenMP specification is performed by several large hardware and software manufacturers whose work is regulated by a non-commercial organization called OpenMP Architecture Review Board (ARB). The main purpose of creating OpenMP was to set programmers free from multi-thread complexity allowing them to focus on more important high-level issues. The main OpenMP advantages are:

"Incremental paralleling" of a program. OpenMP is an ideal for the developers who want to quickly parallel their calculating programs with large parallel loops. A developer does not create a new parallel program but simply sequentially adds OpenMP-directives into the text of a sequential program.

An OpenMP-program can be used as a sequential program on a single-processor platform, that is there is no need to support both the sequential and parallel versions.

Good portability. If the compiler does not even support OpenMP-directives, it still will compile a workable program which will be executed sequentially.

One of OpenMP's advantages is also support of so called "orphan" (separated) directives, that is directives of synchronizing and distributing work may not directly be included into the lexical context of the parallel area.

Parallel software development is not only a difficult algorithmic task. Parallel software is also difficult to test because errors in such programs occur irregularly and fail to be recalled. One of the methods of searching errors in parallel programs is to use static analyzers that work with the source code and do not depend on the execution environment.

References

Popular related articles


Comments (0)

Next comments next comments
close comment form