Changeset View
Changeset View
Standalone View
Standalone View
runtime/README.txt
README for Intel(R) OpenMP* Runtime Library | README for the LLVM* OpenMP* Runtime Library | ||||
=========================================== | ============================================ | ||||
How to Build Documentation | How to Build Documentation | ||||
========================== | ========================== | ||||
The main documentation is in Doxygen* format, and this distribution | The main documentation is in Doxygen* format, and this distribution | ||||
should come with pre-built PDF documentation in doc/Reference.pdf. | should come with pre-built PDF documentation in doc/Reference.pdf. | ||||
However, an HTML version can be built by executing: | However, an HTML version can be built by executing: | ||||
% doxygen doc/doxygen/config | % doxygen doc/doxygen/config | ||||
in this directory. | in the runtime directory. | ||||
That will produce HTML documentation in the doc/doxygen/generated | That will produce HTML documentation in the doc/doxygen/generated | ||||
directory, which can be accessed by pointing a web browser at the | directory, which can be accessed by pointing a web browser at the | ||||
index.html file there. | index.html file there. | ||||
If you don't have Doxygen installed, you can download it from | If you don't have Doxygen installed, you can download it from | ||||
www.doxygen.org. | www.doxygen.org. | ||||
How to Build the Intel(R) OpenMP* Runtime Library | How to Build the LLVM* OpenMP* Runtime Library | ||||
================================================= | ============================================== | ||||
The library can be built either using Cmake, or using a makefile that | |||||
in turn invokes various Perl scripts. For porting, non X86 | |||||
architectures, and for those already familiar with Cmake that may be | |||||
an easier route to take than the one described here. | |||||
Building with CMake | |||||
=================== | |||||
The runtime/Build_With_CMake.txt file has a description of how to | |||||
build with Cmake. | |||||
Building with the Makefile | |||||
========================== | |||||
The Makefile at the top-level will attempt to detect what it needs to | The Makefile at the top-level will attempt to detect what it needs to | ||||
build the Intel(R) OpenMP* Runtime Library. To see the default settings, | build the LLVM* OpenMP* Runtime Library. To see the default settings, | ||||
type: | type: | ||||
make info | make info | ||||
You can change the Makefile's behavior with the following options: | You can change the Makefile's behavior with the following options: | ||||
omp_root: The path to the top-level directory containing the top-level | omp_root: The path to the top-level directory containing the top-level | ||||
Makefile. By default, this will take on the value of the | Makefile. By default, this will take on the value of the | ||||
current working directory. | current working directory. | ||||
omp_os: Operating system. By default, the build will attempt to | omp_os: Operating system. By default, the build will attempt to | ||||
detect this. Currently supports "linux", "freebsd", "macos", and | detect this. Currently supports "linux", "freebsd", "macos", and | ||||
"windows". | "windows". | ||||
arch: Architecture. By default, the build will attempt to | arch: Architecture. By default, the build will attempt to | ||||
detect this if not specified by the user. Currently | detect this if not specified by the user. Currently | ||||
supported values are | supported values are | ||||
"32" for IA-32 architecture | "32" for IA-32 architecture | ||||
"32e" for Intel(R) 64 architecture | "32e" for Intel(R) 64 architecture | ||||
"mic" for Intel(R) Many Integrated Core Architecture | "mic" for Intel(R) Many Integrated Core Architecture | ||||
"arm" for ARM* architecture | |||||
"aarch64" for Aarch64 (64-bit ARM) architecture | |||||
"ppc64" for IBM(R) Power architecture (big endian) | "ppc64" for IBM(R) Power architecture (big endian) | ||||
"ppc64le" for IBM(R) Power architecture (little endian) | "ppc64le" for IBM(R) Power architecture (little endian) | ||||
If "mic" is specified then "icc" will be used as the | If "mic" is specified then "icc" will be used as the | ||||
compiler, and appropriate k1om binutils will be used. The | compiler, and appropriate k1om binutils will be used. The | ||||
necessary packages must be installed on the build machine | necessary packages must be installed on the build machine | ||||
for this to be possible (but an Intel(R) Xeon Phi(TM) | for this to be possible (but an Intel(R) Xeon Phi(TM) | ||||
coprocessor card is not required to build the library). | coprocessor card is not required to build the library). | ||||
Show All 12 Lines | jobs: The number of parallel jobs for the underlying call to make. | ||||
This value is sent as the parameter to the -j flag for make. | This value is sent as the parameter to the -j flag for make. | ||||
This value defaults to "1", but can be set to any positive integer. | This value defaults to "1", but can be set to any positive integer. | ||||
To use any of the options above, simple add <option_name>=<value>. For | To use any of the options above, simple add <option_name>=<value>. For | ||||
example, if you want to build with gcc instead of icc, type: | example, if you want to build with gcc instead of icc, type: | ||||
make compiler=gcc | make compiler=gcc | ||||
There is also an experimental CMake build system. This is *not* yet | |||||
supported for production use and resulting binaries have not been checked | |||||
for compatibility. | |||||
On OS X* machines, it is possible to build universal (or fat) libraries which | On OS X* machines, it is possible to build universal (or fat) libraries which | ||||
include both IA-32 architecture and Intel(R) 64 architecture objects in a | include both IA-32 architecture and Intel(R) 64 architecture objects in a | ||||
single archive; just build the 32 and 32e libraries separately, then invoke | single archive; just build the 32 and 32e libraries separately, then invoke | ||||
make again with a special argument as follows: | make again with a special argument as follows: | ||||
make compiler=clang build_args=fat | make compiler=clang build_args=fat | ||||
Supported RTL Build Configurations | Supported RTL Build Configurations | ||||
Show All 27 Lines | (7) Clang* currently does not offer a software-implemented 128 bit extended | ||||
__kmpc_atomic_float16_* | __kmpc_atomic_float16_* | ||||
__kmpc_atomic_*_fp | __kmpc_atomic_*_fp | ||||
(8) Community contribution provided AS IS, not tested by Intel. | (8) Community contribution provided AS IS, not tested by Intel. | ||||
Front-end Compilers that work with this RTL | Front-end Compilers that work with this RTL | ||||
=========================================== | =========================================== | ||||
The following compilers are known to do compatible code generation for | The following compilers are known to do compatible code generation for | ||||
this RTL: icc/icl, gcc. See the documentation for more detail. | this RTL: clang (from the OpenMP development branch at | ||||
http://clang-omp.github.io/ ), Intel compilers, GCC. See the documentation | |||||
for more details. | |||||
----------------------------------------------------------------------- | ----------------------------------------------------------------------- | ||||
Notices | Notices | ||||
======= | ======= | ||||
*Other names and brands may be claimed as the property of others. | *Other names and brands may be claimed as the property of others. |