blob: 8c0a83729fdbea30358f4a2924fdd8fd473d01de [file] [log] [blame]
George Rokos2467df62017-01-25 21:27:24 +00001
2 README for the LLVM* OpenMP* Offloading Runtime Library (libomptarget)
3 ======================================================================
4
5How to Build the LLVM* OpenMP* Offloading Runtime Library (libomptarget)
6========================================================================
7In-tree build:
8
9$ cd where-you-want-to-live
10Check out openmp (libomptarget lives under ./libomptarget) into llvm/projects
11$ cd where-you-want-to-build
12$ mkdir build && cd build
13$ cmake path/to/llvm -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
14$ make omptarget
15
16Out-of-tree build:
17
18$ cd where-you-want-to-live
19Check out openmp (libomptarget lives under ./libomptarget)
20$ cd where-you-want-to-live/openmp/libomptarget
21$ mkdir build && cd build
22$ cmake path/to/openmp -DCMAKE_C_COMPILER=<C compiler> -DCMAKE_CXX_COMPILER=<C++ compiler>
23$ make
24
Jonas Hahnfeld2e809ac2017-12-27 09:15:10 +000025For details about building, please look at README.rst in the parent directory.
George Rokos2467df62017-01-25 21:27:24 +000026
27Architectures Supported
28=======================
Jonas Hahnfeld2e809ac2017-12-27 09:15:10 +000029The current library has been only tested in Linux operating system and the
30following host architectures:
George Rokos2467df62017-01-25 21:27:24 +000031* Intel(R) 64 architecture
32* IBM(R) Power architecture (big endian)
33* IBM(R) Power architecture (little endian)
Paul Osmialowski1e254c52017-03-06 21:00:07 +000034* ARM(R) AArch64 architecture (little endian)
George Rokos2467df62017-01-25 21:27:24 +000035
36The currently supported offloading device architectures are:
37* Intel(R) 64 architecture (generic 64-bit plugin - mostly for testing purposes)
38* IBM(R) Power architecture (big endian) (generic 64-bit plugin - mostly for testing purposes)
39* IBM(R) Power architecture (little endian) (generic 64-bit plugin - mostly for testing purposes)
Paul Osmialowski1e254c52017-03-06 21:00:07 +000040* ARM(R) AArch64 architecture (little endian) (generic 64-bit plugin - mostly for testing purposes)
George Rokos2467df62017-01-25 21:27:24 +000041* CUDA(R) enabled 64-bit NVIDIA(R) GPU architectures
42
43Supported RTL Build Configurations
44==================================
45Supported Architectures: Intel(R) 64, IBM(R) Power 7 and Power 8
46
47 ---------------------------
48 | gcc | clang |
49--------------|------------|------------|
50| Linux* OS | Yes(1) | Yes(2) |
51-----------------------------------------
52
53(1) gcc version 4.8.2 or later is supported.
54(2) clang version 3.7 or later is supported.
55
56
57Front-end Compilers that work with this RTL
58===========================================
59
60The following compilers are known to do compatible code generation for
Jonas Hahnfeld2e809ac2017-12-27 09:15:10 +000061this RTL:
George Rokos2467df62017-01-25 21:27:24 +000062 - clang (from https://github.com/clang-ykt )
Jonas Hahnfeld2e809ac2017-12-27 09:15:10 +000063 - clang (development branch at http://clang.llvm.org - several features still
George Rokos2467df62017-01-25 21:27:24 +000064 under development)
65
66-----------------------------------------------------------------------
67
68Notices
69=======
Jonas Hahnfeld2e809ac2017-12-27 09:15:10 +000070This library and related compiler support is still under development, so the
George Rokos2467df62017-01-25 21:27:24 +000071employed interface is likely to change in the future.
72
73*Other names and brands may be claimed as the property of others.