README.txt
1
2 README for the LLVM* OpenMP* Runtime Library
3 ============================================
4
5How to Build Documentation
6==========================
7
8The main documentation is in Doxygen* format, and this distribution
9should come with pre-built PDF documentation in doc/Reference.pdf.
10However, an HTML version can be built by executing:
11
12% doxygen doc/doxygen/config
13
14in the runtime directory.
15
16That will produce HTML documentation in the doc/doxygen/generated
17directory, which can be accessed by pointing a web browser at the
18index.html file there.
19
20If you don't have Doxygen installed, you can download it from
21www.doxygen.org.
22
23
24How to Build the LLVM* OpenMP* Runtime Library
25==============================================
26In-tree build:
27
28$ cd where-you-want-to-live
29Check out openmp into llvm/projects
30$ cd where-you-want-to-build
31$ mkdir build && cd build
32$ cmake path/to/llvm -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
33$ make omp
34
35Out-of-tree build:
36
37$ cd where-you-want-to-live
38Check out openmp
39$ cd where-you-want-to-live/openmp
40$ mkdir build && cd build
41$ cmake path/to/openmp -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
42$ make
43
44For details about building, please look at README.rst.
45
46Architectures Supported
47=======================
48* IA-32 architecture
49* Intel(R) 64 architecture
50* Intel(R) Many Integrated Core Architecture
51* ARM* architecture
52* Aarch64 (64-bit ARM) architecture
53* IBM(R) Power architecture (big endian)
54* IBM(R) Power architecture (little endian)
55* MIPS and MIPS64 architectures
56* RISC-V 64 bit architecture
57
58Supported RTL Build Configurations
59==================================
60
61Supported Architectures: IA-32 architecture, Intel(R) 64, and
62Intel(R) Many Integrated Core Architecture
63
64 ----------------------------------------------
65 | icc/icl | gcc | clang |
66--------------|---------------|----------------------------|
67| Linux* OS | Yes(1,5) | Yes(2,4) | Yes(4,6,7) |
68| FreeBSD* | No | No | Yes(4,6,7,8) |
69| OS X* | Yes(1,3,4) | No | Yes(4,6,7) |
70| Windows* OS | Yes(1,4) | No | No |
71------------------------------------------------------------
72
73(1) On IA-32 architecture and Intel(R) 64, icc/icl versions 12.x are
74 supported (12.1 is recommended).
75(2) GCC* version 4.7 is supported.
76(3) For icc on OS X*, OS X* version 10.5.8 is supported.
77(4) Intel(R) Many Integrated Core Architecture not supported.
78(5) On Intel(R) Many Integrated Core Architecture, icc/icl versions 13.0
79 or later are required.
80(6) Clang* version 3.3 is supported.
81(7) Clang* currently does not offer a software-implemented 128 bit extended
82 precision type. Thus, all entry points reliant on this type are removed
83 from the library and cannot be called in the user program. The following
84 functions are not available:
85 __kmpc_atomic_cmplx16_*
86 __kmpc_atomic_float16_*
87 __kmpc_atomic_*_fp
88(8) Community contribution provided AS IS, not tested by Intel.
89
90Supported Architectures: IBM(R) Power 7 and Power 8
91
92 -----------------------------
93 | gcc | clang |
94--------------|------------|--------------|
95| Linux* OS | Yes(1,2) | Yes(3,4) |
96-------------------------------------------
97
98(1) On Power 7, gcc version 4.8.2 is supported.
99(2) On Power 8, gcc version 4.8.2 is supported.
100(3) On Power 7, clang version 3.7 is supported.
101(4) On Power 8, clang version 3.7 is supported.
102
103
104Front-end Compilers that work with this RTL
105===========================================
106
107The following compilers are known to do compatible code generation for
108this RTL: clang (from the OpenMP development branch at
109http://clang-omp.github.io/ ), Intel compilers, GCC. See the documentation
110for more details.
111
112-----------------------------------------------------------------------
113
114Notices
115=======
116
117*Other names and brands may be claimed as the property of others.
118