2 README for the LLVM* OpenMP* Runtime Library
3 ============================================
5 How to Build Documentation
6 ==========================
8 The main documentation is in Doxygen* format, and this distribution
9 should come with pre-built PDF documentation in doc/Reference.pdf.
10 However, an HTML version can be built by executing:
12 % doxygen doc/doxygen/config
14 in the runtime directory.
16 That will produce HTML documentation in the doc/doxygen/generated
17 directory, which can be accessed by pointing a web browser at the
18 index.html file there.
20 If you don't have Doxygen installed, you can download it from
24 How to Build the LLVM* OpenMP* Runtime Library
25 ==============================================
28 $ cd where-you-want-to-live
29 Check 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>
37 $ cd where-you-want-to-live
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>
44 For details about building, please look at README.rst in the parent directory.
46 Architectures Supported
47 =======================
49 * Intel(R) 64 architecture
50 * Intel(R) Many Integrated Core 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 architecture
56 * RISCV64 architecture
57 * LoongArch64 architecture
59 Supported RTL Build Configurations
60 ==================================
62 Supported Architectures: IA-32 architecture, Intel(R) 64, and
63 Intel(R) Many Integrated Core Architecture
65 ----------------------------------------------
66 | icc/icl | gcc | clang |
67 --------------|---------------|----------------------------|
68 | Linux* OS | Yes(1,5) | Yes(2,4) | Yes(4,6,7) |
69 | FreeBSD* | No | No | Yes(4,6,7,8) |
70 | OS X* | Yes(1,3,4) | No | Yes(4,6,7) |
71 | Windows* OS | Yes(1,4) | No | No |
72 ------------------------------------------------------------
74 (1) On IA-32 architecture and Intel(R) 64, icc/icl versions 12.x are
75 supported (12.1 is recommended).
76 (2) GCC* version 4.7 is supported.
77 (3) For icc on OS X*, OS X* version 10.5.8 is supported.
78 (4) Intel(R) Many Integrated Core Architecture not supported.
79 (5) On Intel(R) Many Integrated Core Architecture, icc/icl versions 13.0
80 or later are required.
81 (6) Clang* version 3.3 is supported.
82 (7) Clang* currently does not offer a software-implemented 128 bit extended
83 precision type. Thus, all entry points reliant on this type are removed
84 from the library and cannot be called in the user program. The following
85 functions are not available:
86 __kmpc_atomic_cmplx16_*
87 __kmpc_atomic_float16_*
89 (8) Community contribution provided AS IS, not tested by Intel.
91 Supported Architectures: IBM(R) Power 7 and Power 8
93 -----------------------------
95 --------------|------------|--------------|
96 | Linux* OS | Yes(1,2) | Yes(3,4) |
97 -------------------------------------------
99 (1) On Power 7, gcc version 4.8.2 is supported.
100 (2) On Power 8, gcc version 4.8.2 is supported.
101 (3) On Power 7, clang version 3.7 is supported.
102 (4) On Power 8, clang version 3.7 is supported.
105 Front-end Compilers that work with this RTL
106 ===========================================
108 The following compilers are known to do compatible code generation for
109 this RTL: clang (from the OpenMP development branch at
110 http://clang-omp.github.io/ ), Intel compilers, GCC. See the documentation
113 -----------------------------------------------------------------------
118 *Other names and brands may be claimed as the property of others.