FAQ

General Questions

What is the OpenMP* API?

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.

 

How will the commercial and open source versions differ?

 

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.

What is this project?

 

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.

Who is this project for?

 

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.

Who is this project not for?

 

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.

Where can I get more information on the Intel® OpenMP* runtime open source offering?

 

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.

What isn’t this project?

 

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.

What version of the OpenMP* standard is supported?

 

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.

Which compilers, operating systems and architectures are supported?

 

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.

How do I obtain the Intel® OpenMP* runtime?

 

The Intel® OpenMP* runtime is distributed in binary form as part of the Intel® Parallel Studio XE Suite products and in source form at http://www.openmprtl.org

Will Intel continue to offer support?

 

Yes.  Intel continues to support the commercial version of the Intel® OpenMP* runtime in the Intel® Parallel Studio XE Suite products. 

Why open source now?

 

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.

 

 

Are there products currently using the Intel® OpenMP* runtime?

 

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*. 

What support is offered?

 

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.

Can I use the Intel® OpenMP* runtime on an Intel® Xeon Phi™ coprocessor?

 

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.