aboutsummaryrefslogtreecommitdiff
path: root/openmp/README.rst
diff options
context:
space:
mode:
authorGeorge Rokos <grokos@us.ibm.com>2018-01-29 13:59:35 +0000
committerGeorge Rokos <grokos@us.ibm.com>2018-01-29 13:59:35 +0000
commit0dd6ed74fddfca7c1c5a302902ce3f2d007602f2 (patch)
tree32579761785c4424dba72685383d1f30edb8e797 /openmp/README.rst
parente7264106d4ce1ff0e48506fad207052accae3131 (diff)
downloadllvm-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.rst36
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
=======================