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/runtime 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 in the parent directory. 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 architecture 56* RISCV64 architecture 57* LoongArch64 architecture 58 59Supported RTL Build Configurations 60================================== 61 62Supported Architectures: IA-32 architecture, Intel(R) 64, and 63Intel(R) Many Integrated Core Architecture 64 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------------------------------------------------------------ 73 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_* 88 __kmpc_atomic_*_fp 89(8) Community contribution provided AS IS, not tested by Intel. 90 91Supported Architectures: IBM(R) Power 7 and Power 8 92 93 ----------------------------- 94 | gcc | clang | 95--------------|------------|--------------| 96| Linux* OS | Yes(1,2) | Yes(3,4) | 97------------------------------------------- 98 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. 103 104 105Front-end Compilers that work with this RTL 106=========================================== 107 108The following compilers are known to do compatible code generation for 109this RTL: clang (from the OpenMP development branch at 110http://clang-omp.github.io/ ), Intel compilers, GCC. See the documentation 111for more details. 112 113----------------------------------------------------------------------- 114 115Notices 116======= 117 118*Other names and brands may be claimed as the property of others. 119