diff options
author | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2015-09-23 18:09:47 +0000 |
---|---|---|
committer | Jonathan Peyton <jonathan.l.peyton@intel.com> | 2015-09-23 18:09:47 +0000 |
commit | 1acc2dbf6eadf6b98ee198eef1b0e6f1560f67ab (patch) | |
tree | 9320dddf67a2a203a025151fef5c38f4f89fc397 /openmp/runtime/doc/doxygen/libomp_interface.h | |
parent | 4c36e2f47ec0410846a602898fecddfa475fe701 (diff) | |
download | bcm5719-llvm-1acc2dbf6eadf6b98ee198eef1b0e6f1560f67ab.tar.gz bcm5719-llvm-1acc2dbf6eadf6b98ee198eef1b0e6f1560f67ab.zip |
Update Reference.pdf files.
This updates the Reference.pdf files to say LLVM OpenMP Runtime Library and
also updates the build documentation to show how to build with CMake.
llvm-svn: 248407
Diffstat (limited to 'openmp/runtime/doc/doxygen/libomp_interface.h')
-rw-r--r-- | openmp/runtime/doc/doxygen/libomp_interface.h | 109 |
1 files changed, 47 insertions, 62 deletions
diff --git a/openmp/runtime/doc/doxygen/libomp_interface.h b/openmp/runtime/doc/doxygen/libomp_interface.h index 5d66a5bbbb2..d51ae95b119 100644 --- a/openmp/runtime/doc/doxygen/libomp_interface.h +++ b/openmp/runtime/doc/doxygen/libomp_interface.h @@ -26,69 +26,32 @@ The aim here is to explain the interface from the compiler to the runtime. The overall design is described, and each function in the interface
has its own description. (At least, that's the ambition, we may not be there yet).
-@section sec_building Building the Runtime
+@section sec_building Quickly Building the Runtime
For the impatient, we cover building the runtime as the first topic here.
-A top-level Makefile is provided that attempts to derive a suitable
-configuration for the most commonly used environments. To see the
-default settings, type:
-@code
-% make info
-@endcode
+CMake is used to build the OpenMP runtime. For details and a full list of options for the CMake build system,
+see <tt>Build_With_CMake.txt</tt> inside the <tt>runtime/</tt> subdirectory. These
+instructions will provide the most typical build.
-You can change the Makefile's behavior with the following options:
-
- - <b>omp_root</b>: 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.
-
- - <b>omp_os</b>: Operating system. By default, the build will attempt to
- detect this. Currently supports "linux", "macos", and
- "windows".
-
- - <b>arch</b>: 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® 64 architecture
- - "mic" for Intel® 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® Xeon Phi™
- coprocessor is not required to build the library).
-
- - <b>compiler</b>: Which compiler to use for the build. Defaults to "icc"
- or "icl" depending on the value of omp_os. Also supports
- "gcc" when omp_os is "linux" for gcc\other versions
- 4.6.2 and higher. For icc on OS X\other, OS X\other versions
- greater than 10.6 are not supported currently. Also, icc
- version 13.0 is not supported. The selected compiler should be
- installed and in the user's path. The corresponding
- Fortran compiler should also be in the path.
-
- - <b>mode</b>: 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:
+In-LLVM-tree build:.
@code
-% make compiler=gcc
+$ cd where-you-want-to-live
+Check out openmp into llvm/projects
+$ cd where-you-want-to-build
+$ mkdir build && cd build
+$ cmake path/to/llvm -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
+$ make omp
@endcode
-
-Underneath the hood of the top-level Makefile, the runtime is built by
-a perl script that in turn drives a detailed runtime system make. The
-script can be found at <tt>tools/build.pl</tt>, and will print
-information about all its flags and controls if invoked as
-@code
-% tools/build.pl --help
+Out-of-LLVM-tree build:
+@code
+$ cd where-you-want-to-live
+Check out openmp
+$ cd where-you-want-to-live/openmp/runtime
+$ mkdir build && cd build
+$ cmake path/to/openmp -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
+$ make
@endcode
-If invoked with no arguments, it will try to build a set of libraries
-that are appropriate for the machine on which the build is happening.
-There are many options for building out of tree, and configuring library
-features that can also be used. Consult the <tt>--help</tt> output for details.
-
@section sec_supported Supported RTL Build Configurations
The architectures supported are IA-32 architecture, Intel® 64, and
@@ -96,17 +59,39 @@ Intel® Many Integrated Core Architecture. The build configurations supported are shown in the table below.
<table border=1>
-<tr><th> <th>icc/icl<th>gcc
-<tr><td>Linux\other OS<td>Yes(1,5)<td>Yes(2,4)
-<tr><td>OS X\other<td>Yes(1,3,4)<td>No
-<tr><td>Windows\other OS<td>Yes(1,4)<td>No
+<tr><th> <th>icc/icl<th>gcc<th>clang
+<tr><td>Linux\other OS<td>Yes(1,5)<td>Yes(2,4)<td>Yes(4,6,7)
+<tr><td>FreeBSD\other<td>Yes(1,5)<td>Yes(2,4)<td>Yes(4,6,7,8)
+<tr><td>OS X\other<td>Yes(1,3,4)<td>No<td>Yes(4,6,7)
+<tr><td>Windows\other OS<td>Yes(1,4)<td>No<td>No
</table>
(1) On IA-32 architecture and Intel® 64, icc/icl versions 12.x
are supported (12.1 is recommended).<br>
-(2) gcc version 4.6.2 is supported.<br>
+(2) gcc version 4.7 is supported.<br>
(3) For icc on OS X\other, OS X\other version 10.5.8 is supported.<br>
(4) Intel® Many Integrated Core Architecture not supported.<br>
-(5) On Intel® Many Integrated Core Architecture, icc/icl versions 13.0 or later are required.
+(5) On Intel® Many Integrated Core Architecture, icc/icl versions 13.0 or later are required.<br>
+(6) Clang\other version 3.3 is supported.<br>
+(7) Clang\other 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:
+@code
+ __kmpc_atomic_cmplx16_*
+ __kmpc_atomic_float16_*
+ __kmpc_atomic_*_fp
+@endcode
+(8) Community contribution provided AS IS, not tested by Intel.
+
+Supported Architectures: IBM(R) Power 7 and Power 8
+<table border=1>
+<tr><th> <th>gcc<th>clang
+<tr><td>Linux\other OS<td>Yes(1,2)<td>Yes(3,4)
+</table>
+(1) On Power 7, gcc version 4.8.2 is supported.<br>
+(2) On Power 8, gcc version 4.8.2 is supported.<br>
+(3) On Power 7, clang version 3.7 is supported.<br>
+(4) On Power 8, clang version 3.7 is supported.<br>
@section sec_frontend Front-end Compilers that work with this RTL
|