Skip to content

Commit 1acc2db

Browse files
committed
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
1 parent 4c36e2f commit 1acc2db

File tree

3 files changed

+47
-62
lines changed

3 files changed

+47
-62
lines changed

openmp/runtime/doc/Reference.pdf

6.6 KB
Binary file not shown.

openmp/runtime/doc/doxygen/libomp_interface.h

Lines changed: 47 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -26,87 +26,72 @@ The aim here is to explain the interface from the compiler to the runtime.
2626
The overall design is described, and each function in the interface
2727
has its own description. (At least, that's the ambition, we may not be there yet).
2828
29-
@section sec_building Building the Runtime
29+
@section sec_building Quickly Building the Runtime
3030
For the impatient, we cover building the runtime as the first topic here.
3131
32-
A top-level Makefile is provided that attempts to derive a suitable
33-
configuration for the most commonly used environments. To see the
34-
default settings, type:
35-
@code
36-
% make info
37-
@endcode
32+
CMake is used to build the OpenMP runtime. For details and a full list of options for the CMake build system,
33+
see <tt>Build_With_CMake.txt</tt> inside the <tt>runtime/</tt> subdirectory. These
34+
instructions will provide the most typical build.
3835
39-
You can change the Makefile's behavior with the following options:
40-
41-
- <b>omp_root</b>: The path to the top-level directory containing the top-level
42-
Makefile. By default, this will take on the value of the
43-
current working directory.
44-
45-
- <b>omp_os</b>: Operating system. By default, the build will attempt to
46-
detect this. Currently supports "linux", "macos", and
47-
"windows".
48-
49-
- <b>arch</b>: Architecture. By default, the build will attempt to
50-
detect this if not specified by the user. Currently
51-
supported values are
52-
- "32" for IA-32 architecture
53-
- "32e" for Intel&reg;&nbsp;64 architecture
54-
- "mic" for Intel&reg;&nbsp;Many Integrated Core Architecture (
55-
If "mic" is specified then "icc" will be used as the
56-
compiler, and appropriate k1om binutils will be used. The
57-
necessary packages must be installed on the build machine
58-
for this to be possible, but an
59-
Intel&reg;&nbsp;Xeon Phi&trade;&nbsp;
60-
coprocessor is not required to build the library).
61-
62-
- <b>compiler</b>: Which compiler to use for the build. Defaults to "icc"
63-
or "icl" depending on the value of omp_os. Also supports
64-
"gcc" when omp_os is "linux" for gcc\other versions
65-
4.6.2 and higher. For icc on OS X\other, OS X\other versions
66-
greater than 10.6 are not supported currently. Also, icc
67-
version 13.0 is not supported. The selected compiler should be
68-
installed and in the user's path. The corresponding
69-
Fortran compiler should also be in the path.
70-
71-
- <b>mode</b>: Library mode: default is "release". Also supports "debug".
72-
73-
To use any of the options above, simple add &lt;option_name&gt;=&lt;value&gt;. For
74-
example, if you want to build with gcc instead of icc, type:
36+
In-LLVM-tree build:.
7537
@code
76-
% make compiler=gcc
38+
$ cd where-you-want-to-live
39+
Check out openmp into llvm/projects
40+
$ cd where-you-want-to-build
41+
$ mkdir build && cd build
42+
$ cmake path/to/llvm -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
43+
$ make omp
7744
@endcode
78-
79-
Underneath the hood of the top-level Makefile, the runtime is built by
80-
a perl script that in turn drives a detailed runtime system make. The
81-
script can be found at <tt>tools/build.pl</tt>, and will print
82-
information about all its flags and controls if invoked as
83-
@code
84-
% tools/build.pl --help
45+
Out-of-LLVM-tree build:
46+
@code
47+
$ cd where-you-want-to-live
48+
Check out openmp
49+
$ cd where-you-want-to-live/openmp/runtime
50+
$ mkdir build && cd build
51+
$ cmake path/to/openmp -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
52+
$ make
8553
@endcode
8654
87-
If invoked with no arguments, it will try to build a set of libraries
88-
that are appropriate for the machine on which the build is happening.
89-
There are many options for building out of tree, and configuring library
90-
features that can also be used. Consult the <tt>--help</tt> output for details.
91-
9255
@section sec_supported Supported RTL Build Configurations
9356
9457
The architectures supported are IA-32 architecture, Intel&reg;&nbsp; 64, and
9558
Intel&reg;&nbsp; Many Integrated Core Architecture. The build configurations
9659
supported are shown in the table below.
9760
9861
<table border=1>
99-
<tr><th> <th>icc/icl<th>gcc
100-
<tr><td>Linux\other OS<td>Yes(1,5)<td>Yes(2,4)
101-
<tr><td>OS X\other<td>Yes(1,3,4)<td>No
102-
<tr><td>Windows\other OS<td>Yes(1,4)<td>No
62+
<tr><th> <th>icc/icl<th>gcc<th>clang
63+
<tr><td>Linux\other OS<td>Yes(1,5)<td>Yes(2,4)<td>Yes(4,6,7)
64+
<tr><td>FreeBSD\other<td>Yes(1,5)<td>Yes(2,4)<td>Yes(4,6,7,8)
65+
<tr><td>OS X\other<td>Yes(1,3,4)<td>No<td>Yes(4,6,7)
66+
<tr><td>Windows\other OS<td>Yes(1,4)<td>No<td>No
10367
</table>
10468
(1) On IA-32 architecture and Intel&reg;&nbsp; 64, icc/icl versions 12.x
10569
are supported (12.1 is recommended).<br>
106-
(2) gcc version 4.6.2 is supported.<br>
70+
(2) gcc version 4.7 is supported.<br>
10771
(3) For icc on OS X\other, OS X\other version 10.5.8 is supported.<br>
10872
(4) Intel&reg;&nbsp; Many Integrated Core Architecture not supported.<br>
109-
(5) On Intel&reg;&nbsp; Many Integrated Core Architecture, icc/icl versions 13.0 or later are required.
73+
(5) On Intel&reg;&nbsp; Many Integrated Core Architecture, icc/icl versions 13.0 or later are required.<br>
74+
(6) Clang\other version 3.3 is supported.<br>
75+
(7) Clang\other currently does not offer a software-implemented 128 bit extended
76+
precision type. Thus, all entry points reliant on this type are removed
77+
from the library and cannot be called in the user program. The following
78+
functions are not available:
79+
@code
80+
__kmpc_atomic_cmplx16_*
81+
__kmpc_atomic_float16_*
82+
__kmpc_atomic_*_fp
83+
@endcode
84+
(8) Community contribution provided AS IS, not tested by Intel.
85+
86+
Supported Architectures: IBM(R) Power 7 and Power 8
87+
<table border=1>
88+
<tr><th> <th>gcc<th>clang
89+
<tr><td>Linux\other OS<td>Yes(1,2)<td>Yes(3,4)
90+
</table>
91+
(1) On Power 7, gcc version 4.8.2 is supported.<br>
92+
(2) On Power 8, gcc version 4.8.2 is supported.<br>
93+
(3) On Power 7, clang version 3.7 is supported.<br>
94+
(4) On Power 8, clang version 3.7 is supported.<br>
11095
11196
@section sec_frontend Front-end Compilers that work with this RTL
11297

openmp/www/Reference.pdf

6.6 KB
Binary file not shown.

0 commit comments

Comments
 (0)