Saturday, January 15, 2011

What is OpenMP? Why OpenMP?



What is OpenMP?
  • OpenMP is an API (Application Programming Interface)
  • OpenMP Supports shared memory model for parallel programming
  • OpenMP can be used along with languages like C, C++, FORTRAN, etc..
  • OpenMP works on Microsoft Windows platform and also on all Unix flavors
  • Therefore, OpenMP is more flexible
OpenMP consists of vast set of compiler directives, library routines, and environment variables that influence run-time behavior. To conclude, OpenMP is a API used to make your application run in parallel, so that CPU utilization is more hence improving time efficiency.(if you aren't convinced, plz have a look at this)



Why do we need OpenMP?

Why do we need OpenMP? why not any other alternatives(for other alternatives click here). This seems to be a BIG question, a million dollar $$ question. But the answer varies from person to person based on personal point of view on OpenMP.

But few common reasons for using OpenMP other than similar alternatives, are listed below :
  • First, OpenMP is easy to learn and implement on a fresh projects
  • Secondly, Minimum code change required to alter existing applications


Compilers :  

Below is the list of compilers which can be used to compile programs which uses OpenMP directives,libraries,..

and many more,.. I recommend you to download and use Intel Parallel Studio along with visual studio 2008 or higher version, because it has nice user interface, has IntelliSense and easy to debug.


No comments:

Post a Comment