2013-09-27 18:38:44 +08:00
|
|
|
|
|
|
|
README for Intel(R) OpenMP* Runtime Library
|
|
|
|
===========================================
|
|
|
|
|
|
|
|
How to Build Documentation
|
|
|
|
==========================
|
|
|
|
|
|
|
|
The main documentation is in Doxygen* format, and this distribution
|
|
|
|
should come with pre-built PDF documentation in doc/Reference.pdf.
|
|
|
|
However, an HTML version can be built by executing:
|
|
|
|
|
|
|
|
% doxygen doc/doxygen/config
|
|
|
|
|
|
|
|
in this directory.
|
|
|
|
|
|
|
|
That will produce HTML documentation in the doc/doxygen/generated
|
|
|
|
directory, which can be accessed by pointing a web browser at the
|
|
|
|
index.html file there.
|
|
|
|
|
|
|
|
If you don't have Doxygen installed, you can download it from
|
|
|
|
www.doxygen.org.
|
|
|
|
|
|
|
|
|
|
|
|
How to Build the Intel(R) OpenMP* Runtime Library
|
|
|
|
=================================================
|
|
|
|
|
|
|
|
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,
|
|
|
|
type:
|
|
|
|
|
|
|
|
make info
|
|
|
|
|
|
|
|
You can change the Makefile's behavior with the following options:
|
|
|
|
|
|
|
|
omp_root: The path to the top-level directory containing the top-level
|
|
|
|
Makefile. By default, this will take on the value of the
|
|
|
|
current working directory.
|
|
|
|
|
|
|
|
omp_os: Operating system. By default, the build will attempt to
|
|
|
|
detect this. Currently supports "linux", "macos", and
|
|
|
|
"windows".
|
|
|
|
|
|
|
|
arch: Architecture. By default, the build will attempt to
|
|
|
|
detect this if not specified by the user. Currently
|
|
|
|
supported values are
|
|
|
|
"32" for IA-32 architecture
|
|
|
|
"32e" for Intel(R) 64 architecture
|
|
|
|
"mic" for Intel(R) Many Integrated Core Architecture
|
|
|
|
|
|
|
|
If "mic" is specified then "icc" will be used as the
|
|
|
|
compiler, and appropriate k1om binutils will be used. The
|
|
|
|
necessary packages must be installed on the build machine
|
|
|
|
for this to be possible (but an Intel(R) Xeon Phi(TM)
|
|
|
|
coprocessor card is not required to build the library).
|
|
|
|
|
|
|
|
compiler: Which compiler to use for the build. Defaults to "icc"
|
|
|
|
or "icl" depending on the value of omp_os. Also supports
|
|
|
|
some versions of "gcc"* when omp_os is "linux". The selected
|
|
|
|
compiler should be installed and in the user's path. The
|
|
|
|
corresponding Fortran compiler should also be in the path.
|
|
|
|
See "Supported RTL Build Configurations" below for more
|
|
|
|
information on compiler versions.
|
|
|
|
|
|
|
|
mode: Library mode: default is "release". Also supports "debug".
|
|
|
|
|
|
|
|
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:
|
|
|
|
|
|
|
|
make compiler=gcc
|
|
|
|
|
|
|
|
Supported RTL Build Configurations
|
|
|
|
==================================
|
|
|
|
|
|
|
|
Supported Architectures: IA-32 architecture, Intel(R) 64, and
|
|
|
|
Intel(R) Many Integrated Core Architecture
|
|
|
|
|
2013-12-24 01:28:57 +08:00
|
|
|
--------------------------------------------
|
|
|
|
| icc/icl | gcc | clang |
|
|
|
|
--------------|---------------|--------------------------|
|
|
|
|
| Linux* OS | Yes(1,5) | Yes(2,4) | Yes(4,6,7) |
|
|
|
|
| OS X* | Yes(1,3,4) | No | Yes(4,6,7) |
|
|
|
|
| Windows* OS | Yes(1,4) | No | No |
|
|
|
|
----------------------------------------------------------
|
2013-09-27 18:38:44 +08:00
|
|
|
|
|
|
|
(1) On IA-32 architecture and Intel(R) 64, icc/icl versions 12.x are
|
|
|
|
supported (12.1 is recommended).
|
|
|
|
(2) gcc version 4.6.2 is supported.
|
|
|
|
(3) For icc on OS X*, OS X* version 10.5.8 is supported.
|
|
|
|
(4) Intel(R) Many Integrated Core Architecture not supported.
|
|
|
|
(5) On Intel(R) Many Integrated Core Architecture, icc/icl versions 13.0
|
|
|
|
or later are required.
|
2013-12-24 01:28:57 +08:00
|
|
|
(6) clang version 3.3 is supported.
|
|
|
|
(7) clang currently does not offer a software-implemented 128 bit extended
|
|
|
|
precision type. Thus, all entry points reliant on this type are removed
|
|
|
|
from the library and cannot be called in the user program. The following
|
|
|
|
functions are not available:
|
|
|
|
__kmpc_atomic_cmplx16_*
|
|
|
|
__kmpc_atomic_float16_*
|
|
|
|
__kmpc_atomic_*_fp
|
2013-09-27 18:38:44 +08:00
|
|
|
|
|
|
|
Front-end Compilers that work with this RTL
|
|
|
|
===========================================
|
|
|
|
|
|
|
|
The following compilers are known to do compatible code generation for
|
|
|
|
this RTL: icc/icl, gcc. See the documentation for more detail.
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
|
|
|
|
|
|
Notices
|
|
|
|
=======
|
|
|
|
|
|
|
|
*Other names and brands may be claimed as the property of others.
|