blob: f4d3bd97c8f378984d1cda978263277ac1d08f70 [file] [log] [blame]
Jim Cownie5e8470a2013-09-27 10:38:44 +00001
Andrey Churbanov4dc2a6b2015-05-12 12:52:43 +00002 README for the LLVM* OpenMP* Runtime Library
3 ============================================
Jim Cownie5e8470a2013-09-27 10:38:44 +00004
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
Andrey Churbanov4dc2a6b2015-05-12 12:52:43 +000014in the runtime directory.
Jim Cownie5e8470a2013-09-27 10:38:44 +000015
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
Andrey Churbanov4dc2a6b2015-05-12 12:52:43 +000024How to Build the LLVM* OpenMP* Runtime Library
25==============================================
Jonathan Peyton89776182015-09-14 17:20:30 +000026In-tree build:
Jim Cownie5e8470a2013-09-27 10:38:44 +000027
Jonathan Peyton89776182015-09-14 17:20:30 +000028$ 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
Andrey Churbanov4dc2a6b2015-05-12 12:52:43 +000034
Jonathan Peyton89776182015-09-14 17:20:30 +000035Out-of-tree build:
Andrey Churbanov4dc2a6b2015-05-12 12:52:43 +000036
Jonathan Peyton89776182015-09-14 17:20:30 +000037$ cd where-you-want-to-live
38Check out openmp
39$ cd where-you-want-to-live/openmp/runtime
40$ mkdir build && cd build
41$ cmake path/to/openmp -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
42$ make
Jim Cownie5e8470a2013-09-27 10:38:44 +000043
Jonathan Peyton89776182015-09-14 17:20:30 +000044For details about building, please look at Build_With_CMake.txt
Jim Cownie5e8470a2013-09-27 10:38:44 +000045
Jonathan Peyton89776182015-09-14 17:20:30 +000046Architectures 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)
Jim Cownie4cc4bb42014-10-07 16:25:50 +000055
Jim Cownie5e8470a2013-09-27 10:38:44 +000056Supported RTL Build Configurations
57==================================
58
59Supported Architectures: IA-32 architecture, Intel(R) 64, and
60Intel(R) Many Integrated Core Architecture
61
Jim Cownie4cc4bb42014-10-07 16:25:50 +000062 ----------------------------------------------
63 | icc/icl | gcc | clang |
64--------------|---------------|----------------------------|
65| Linux* OS | Yes(1,5) | Yes(2,4) | Yes(4,6,7) |
66| FreeBSD* | No | No | Yes(4,6,7,8) |
67| OS X* | Yes(1,3,4) | No | Yes(4,6,7) |
68| Windows* OS | Yes(1,4) | No | No |
69------------------------------------------------------------
Jim Cownie5e8470a2013-09-27 10:38:44 +000070
71(1) On IA-32 architecture and Intel(R) 64, icc/icl versions 12.x are
72 supported (12.1 is recommended).
Jonathan Peyton89776182015-09-14 17:20:30 +000073(2) GCC* version 4.7 is supported.
Jim Cownie5e8470a2013-09-27 10:38:44 +000074(3) For icc on OS X*, OS X* version 10.5.8 is supported.
75(4) Intel(R) Many Integrated Core Architecture not supported.
76(5) On Intel(R) Many Integrated Core Architecture, icc/icl versions 13.0
77 or later are required.
Jim Cownie4cc4bb42014-10-07 16:25:50 +000078(6) Clang* version 3.3 is supported.
79(7) Clang* currently does not offer a software-implemented 128 bit extended
Jim Cownie181b4bb2013-12-23 17:28:57 +000080 precision type. Thus, all entry points reliant on this type are removed
81 from the library and cannot be called in the user program. The following
82 functions are not available:
83 __kmpc_atomic_cmplx16_*
84 __kmpc_atomic_float16_*
85 __kmpc_atomic_*_fp
Jim Cownie4cc4bb42014-10-07 16:25:50 +000086(8) Community contribution provided AS IS, not tested by Intel.
Jim Cownie5e8470a2013-09-27 10:38:44 +000087
Jonathan Peyton851a2af2015-08-27 17:19:17 +000088Supported Architectures: IBM(R) Power 7 and Power 8
89
90 -----------------------------
91 | gcc | clang |
92--------------|------------|--------------|
93| Linux* OS | Yes(1,2) | Yes(3,4) |
94-------------------------------------------
95
96(1) On Power 7, gcc version 4.8.2 is supported.
97(2) On Power 8, gcc version 4.8.2 is supported.
98(3) On Power 7, clang version 3.7 is supported.
99(4) On Power 8, clang version 3.7 is supported.
100
101
Jim Cownie5e8470a2013-09-27 10:38:44 +0000102Front-end Compilers that work with this RTL
103===========================================
104
105The following compilers are known to do compatible code generation for
Andrey Churbanov4dc2a6b2015-05-12 12:52:43 +0000106this RTL: clang (from the OpenMP development branch at
107http://clang-omp.github.io/ ), Intel compilers, GCC. See the documentation
108for more details.
Jim Cownie5e8470a2013-09-27 10:38:44 +0000109
110-----------------------------------------------------------------------
111
112Notices
113=======
114
115*Other names and brands may be claimed as the property of others.