Jim Cownie | 5e8470a | 2013-09-27 10:38:44 +0000 | [diff] [blame] | 1 | |
Andrey Churbanov | 4dc2a6b | 2015-05-12 12:52:43 +0000 | [diff] [blame] | 2 | README for the LLVM* OpenMP* Runtime Library |
| 3 | ============================================ |
Jim Cownie | 5e8470a | 2013-09-27 10:38:44 +0000 | [diff] [blame] | 4 | |
| 5 | How to Build Documentation |
| 6 | ========================== |
| 7 | |
| 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: |
| 11 | |
| 12 | % doxygen doc/doxygen/config |
| 13 | |
Andrey Churbanov | 4dc2a6b | 2015-05-12 12:52:43 +0000 | [diff] [blame] | 14 | in the runtime directory. |
Jim Cownie | 5e8470a | 2013-09-27 10:38:44 +0000 | [diff] [blame] | 15 | |
| 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. |
| 19 | |
| 20 | If you don't have Doxygen installed, you can download it from |
| 21 | www.doxygen.org. |
| 22 | |
| 23 | |
Andrey Churbanov | 4dc2a6b | 2015-05-12 12:52:43 +0000 | [diff] [blame] | 24 | How to Build the LLVM* OpenMP* Runtime Library |
| 25 | ============================================== |
Jonathan Peyton | 8977618 | 2015-09-14 17:20:30 +0000 | [diff] [blame] | 26 | In-tree build: |
Jim Cownie | 5e8470a | 2013-09-27 10:38:44 +0000 | [diff] [blame] | 27 | |
Jonathan Peyton | 8977618 | 2015-09-14 17:20:30 +0000 | [diff] [blame] | 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> |
| 33 | $ make omp |
Andrey Churbanov | 4dc2a6b | 2015-05-12 12:52:43 +0000 | [diff] [blame] | 34 | |
Jonathan Peyton | 8977618 | 2015-09-14 17:20:30 +0000 | [diff] [blame] | 35 | Out-of-tree build: |
Andrey Churbanov | 4dc2a6b | 2015-05-12 12:52:43 +0000 | [diff] [blame] | 36 | |
Jonathan Peyton | 8977618 | 2015-09-14 17:20:30 +0000 | [diff] [blame] | 37 | $ cd where-you-want-to-live |
| 38 | Check 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 Cownie | 5e8470a | 2013-09-27 10:38:44 +0000 | [diff] [blame] | 43 | |
Jonathan Peyton | 8977618 | 2015-09-14 17:20:30 +0000 | [diff] [blame] | 44 | For details about building, please look at Build_With_CMake.txt |
Jim Cownie | 5e8470a | 2013-09-27 10:38:44 +0000 | [diff] [blame] | 45 | |
Jonathan Peyton | 8977618 | 2015-09-14 17:20:30 +0000 | [diff] [blame] | 46 | Architectures 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 Cownie | 4cc4bb4 | 2014-10-07 16:25:50 +0000 | [diff] [blame] | 55 | |
Jim Cownie | 5e8470a | 2013-09-27 10:38:44 +0000 | [diff] [blame] | 56 | Supported RTL Build Configurations |
| 57 | ================================== |
| 58 | |
| 59 | Supported Architectures: IA-32 architecture, Intel(R) 64, and |
| 60 | Intel(R) Many Integrated Core Architecture |
| 61 | |
Jim Cownie | 4cc4bb4 | 2014-10-07 16:25:50 +0000 | [diff] [blame] | 62 | ---------------------------------------------- |
| 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 Cownie | 5e8470a | 2013-09-27 10:38:44 +0000 | [diff] [blame] | 70 | |
| 71 | (1) On IA-32 architecture and Intel(R) 64, icc/icl versions 12.x are |
| 72 | supported (12.1 is recommended). |
Jonathan Peyton | 8977618 | 2015-09-14 17:20:30 +0000 | [diff] [blame] | 73 | (2) GCC* version 4.7 is supported. |
Jim Cownie | 5e8470a | 2013-09-27 10:38:44 +0000 | [diff] [blame] | 74 | (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 Cownie | 4cc4bb4 | 2014-10-07 16:25:50 +0000 | [diff] [blame] | 78 | (6) Clang* version 3.3 is supported. |
| 79 | (7) Clang* currently does not offer a software-implemented 128 bit extended |
Jim Cownie | 181b4bb | 2013-12-23 17:28:57 +0000 | [diff] [blame] | 80 | 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 Cownie | 4cc4bb4 | 2014-10-07 16:25:50 +0000 | [diff] [blame] | 86 | (8) Community contribution provided AS IS, not tested by Intel. |
Jim Cownie | 5e8470a | 2013-09-27 10:38:44 +0000 | [diff] [blame] | 87 | |
Jonathan Peyton | 851a2af | 2015-08-27 17:19:17 +0000 | [diff] [blame] | 88 | Supported 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 Cownie | 5e8470a | 2013-09-27 10:38:44 +0000 | [diff] [blame] | 102 | Front-end Compilers that work with this RTL |
| 103 | =========================================== |
| 104 | |
| 105 | The following compilers are known to do compatible code generation for |
Andrey Churbanov | 4dc2a6b | 2015-05-12 12:52:43 +0000 | [diff] [blame] | 106 | this RTL: clang (from the OpenMP development branch at |
| 107 | http://clang-omp.github.io/ ), Intel compilers, GCC. See the documentation |
| 108 | for more details. |
Jim Cownie | 5e8470a | 2013-09-27 10:38:44 +0000 | [diff] [blame] | 109 | |
| 110 | ----------------------------------------------------------------------- |
| 111 | |
| 112 | Notices |
| 113 | ======= |
| 114 | |
| 115 | *Other names and brands may be claimed as the property of others. |