Currently there are minor differences related to backwards compatibility and experimental, undocumented features when targeting the Linux* or OS X* operating systems. When targeting the Microsoft* Windows* operating system, the commercial release includes compatibility with the Microsoft* compilers’ implementation of the OpenMP API. The code necessary to achieve this compatibility is not present in the open source runtime.
We intend to maintain a single source base and to build our commercial products from it. The open source release is not a “fork and forget” project, but is integral to the development of the runtime we release commercially with our compilers.
If you are asking this question, then this site is probably not for you, since the Intel® OpenMP runtime library sources that are available from this site are part of the implementation of an OpenMP system, so are useful to the implementers of OpenMP* systems. If the implementers of an OpenMP compiler don’t know what the OpenMP API is, then something is wrong!
If you do need to know what the OpenMP*API is, then the OpenMP* language specifications and other information about it (including a list of compilers that support it) can be found at http://www.openmp.org.
This project provides the source code of the Intel® OpenMP* runtime. The runtime is the part of the OpenMP* implementation that your code is linked against, and that manages the multiple threads in an OpenMP program while it is executing.
This project is for compiler writers who want to use the Intel® OpenMP* runtime as the target of their compiler and for the authors of profiling tools who want to instrument the Intel® OpenMP* runtime to allow their tools better to support programs compiled with the Intel® Parallel Studio XE Suite products.
This project is not for users of the Intel® Parallel Studio XE Suite products who are writing OpenMP* programs. They should continue to use the binary distributions of the runtime that come with those products.
For more information, you can visit openmprtl.org. The site includes the Intel® OpenMP* runtime source code, documentation and links to the support forum and to other relevant materials.
This project is not a full implementation of the OpenMP* API, since that requires a compiler that understands the OpenMP* language directives and generates appropriate machine code that will call this runtime where required.
If you want a full OpenMP* implementation (you just want to run your OpenMP* code), then you need an OpenMP compiler, of which there are many available.
The runtime supports version 3.1 of the OpenMP* standard. There is also support for some features proposed for the (not yet released) OpenMP 4.0 specification.
We hope to have full support for OpenMP 4.0 very soon after the standard is finalized.
The Intel® OpenMP runtime has been built and tested on the IA-32, Intel® 64 and Intel® Many Integrated Core (MIC) architectures.
The runtime has been built with icc/icl and gcc*. A full build compatibility list is included in the README and manual in the source code package. The test codes themselves were compiled by the relevant Intel® Parallel Studio XE Suite compilers.
Yes. Intel continues to support the commercial version of the Intel® OpenMP* runtime in the Intel® Parallel Studio XE Suite products.
Intel has been committed to standards-based products for a long time; we believe that this gives our customers the greatest value. We have gained substantial open-source experience, based on our open-source Intel® Threading Building Blocks and Intel® Cilk projects, and we saw an opportunity to contribute our high-quality OpenMP* runtime implementation to the community. We anticipate that this will accelerate innovation in the OpenMP* API and as a side-benefit will allow the community to contribute their innovations back to Intel.
Yes, the Intel® OpenMP* runtime is used in Intel® Parallel Studio XE Suite products. The implementation is recognized as one of the industry’s most-respected and most-used implementations of OpenMP*.
Intel offers its standard commercial support for the runtime when it is purchased as part of the Intel® Parallel Studio XE Suite products. For the open source version we refer people to the open source web site for FAQs, forums and the like for support.
Yes. The Intel® OpenMP* runtime can be used with the compilers in the Intel® Parallel Studio XE Suite products to execute code on the Intel® Xeon Phi™ co-processor.
However, there is no need to use the open-source release if all you want to do is to execute OpenMP* applications on the Intel® Xeon Phi™ coprocessor since the compilers come with the commercially licensed, pre-built runtime library, just as they do for the other supported architectures.