diff options
author | George Rokos <grokos@us.ibm.com> | 2018-01-29 13:59:35 +0000 |
---|---|---|
committer | George Rokos <grokos@us.ibm.com> | 2018-01-29 13:59:35 +0000 |
commit | 0dd6ed74fddfca7c1c5a302902ce3f2d007602f2 (patch) | |
tree | 32579761785c4424dba72685383d1f30edb8e797 /openmp/README.rst | |
parent | e7264106d4ce1ff0e48506fad207052accae3131 (diff) | |
download | llvm-0dd6ed74fddfca7c1c5a302902ce3f2d007602f2.zip llvm-0dd6ed74fddfca7c1c5a302902ce3f2d007602f2.tar.gz llvm-0dd6ed74fddfca7c1c5a302902ce3f2d007602f2.tar.bz2 |
[OpenMP] Initial implementation of OpenMP offloading library - libomptarget device RTLs.
This patch implements the device runtime library whose interface is used in the code generation for OpenMP offloading devices.
Currently there is a single device RTL written in CUDA meant to CUDA enabled GPUs.
The interface is a variation of the kmpc interface that includes some extra calls to do thread and storage management that only make sense for a GPU target.
Differential revision: https://reviews.llvm.org/D14254
llvm-svn: 323649
Diffstat (limited to 'openmp/README.rst')
-rw-r--r-- | openmp/README.rst | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/openmp/README.rst b/openmp/README.rst index d411644..a66f75b 100644 --- a/openmp/README.rst +++ b/openmp/README.rst @@ -166,7 +166,7 @@ Options for ``libomp`` Create the Fortran modules (requires Fortran compiler). macOS* Fat Libraries -"""""""""""""""""" +"""""""""""""""""""" On macOS* machines, it is possible to build universal (or fat) libraries which include both i386 and x86_64 architecture objects in a single archive. @@ -254,6 +254,40 @@ Options for ``libomptarget`` Path of the folder that contains ``libomp.so``. This is required for testing out-of-tree builds. +Options for ``NVPTX device RTL`` +-------------------------------- + +**LIBOMPTARGET_NVPTX_ENABLE_BCLIB** = ``OFF|ON`` + Enable CUDA LLVM bitcode offloading device RTL. This is used for link time + optimization of the OMP runtime and application code. + +**LIBOMPTARGET_NVPTX_CUDA_COMPILER** = ``""`` + Location of a CUDA compiler capable of emitting LLVM bitcode. Currently only + the Clang compiler is supported. This is only used when building the CUDA LLVM + bitcode offloading device RTL. If unspecified and the CMake C compiler is + Clang, then Clang is used. + +**LIBOMPTARGET_NVPTX_BC_LINKER** = ``""`` + Location of a linker capable of linking LLVM bitcode objects. This is only + used when building the CUDA LLVM bitcode offloading device RTL. If unspecified + and the CMake C compiler is Clang and there exists a llvm-link binary in the + directory containing Clang, then this llvm-link binary is used. + +**LIBOMPTARGET_NVPTX_ALTERNATE_HOST_COMPILER** = ``""`` + Host compiler to use with NVCC. This compiler is not going to be used to + produce any binary. Instead, this is used to overcome the input compiler + checks done by NVCC. E.g. if using a default host compiler that is not + compatible with NVCC, this option can be use to pass to NVCC a valid compiler + to avoid the error. + + **LIBOMPTARGET_NVPTX_COMPUTE_CAPABILITY** = ``35`` + CUDA compute capability that should be supported by the NVPTX device RTL. E.g. + for compute capability 6.0, the option "60" should be used. Compute capability + 3.5 is the minimum required. + + **LIBOMPTARGET_NVPTX_DEBUG** = ``OFF|ON`` + Enable printing of debug messages from the NVPTX device RTL. + Example Usages of CMake ======================= |