Index: llvm/trunk/docs/CompileCudaWithLLVM.rst =================================================================== --- llvm/trunk/docs/CompileCudaWithLLVM.rst +++ llvm/trunk/docs/CompileCudaWithLLVM.rst @@ -22,21 +22,21 @@ Prerequisites ------------- -CUDA is supported in llvm 3.9, but it's still in active development, so we -recommend you `compile clang/LLVM from HEAD -`_. - -Before you build CUDA code, you'll need to have installed the appropriate -driver for your nvidia GPU and the CUDA SDK. See `NVIDIA's CUDA installation -guide `_ -for details. Note that clang `does not support -`_ the CUDA toolkit as installed -by many Linux package managers; you probably need to install nvidia's package. - -You will need CUDA 7.0, 7.5, or 8.0 to compile with clang. - -CUDA compilation is supported on Linux, on MacOS as of 2016-11-18, and on -Windows as of 2017-01-05. +CUDA is supported since llvm 3.9. Current release of clang (7.0.0) supports CUDA +7.0 through 9.2. If you need support for CUDA 10, you will need to use clang +built from r342924 or newer. + +Before you build CUDA code, you'll need to have installed the appropriate driver +for your nvidia GPU and the CUDA SDK. See `NVIDIA's CUDA installation guide +`_ for +details. Note that clang `does not support +`_ the CUDA toolkit as installed by +many Linux package managers; you probably need to install CUDA in a single +directory from NVIDIA's package. + +CUDA compilation is supported on Linux. Compilation on MacOS and Windows may or +may not work and currently have no maintainers. Compilation with CUDA-9.x is +`currently broken on Windows `_. Invoking clang -------------- @@ -73,7 +73,9 @@ Pass e.g. ``-L/usr/local/cuda/lib64`` if compiling in 64-bit mode; otherwise, pass e.g. ``-L/usr/local/cuda/lib``. (In CUDA, the device code and host code always have the same pointer widths, so if you're compiling 64-bit code for - the host, you're also compiling 64-bit code for the device.) + the host, you're also compiling 64-bit code for the device.) Note that as of + v10.0 CUDA SDK `no longer supports compilation of 32-bit + applications`_. * ```` -- the `compute capability `_ of your GPU. For example, if you @@ -89,8 +91,7 @@ The `-L` and `-l` flags only need to be passed when linking. When compiling, you may also need to pass ``--cuda-path=/path/to/cuda`` if you didn't install -the CUDA SDK into ``/usr/local/cuda``, ``/usr/local/cuda-7.0``, or -``/usr/local/cuda-7.5``. +the CUDA SDK into ``/usr/local/cuda`` or ``/usr/local/cuda-X.Y``. Flags that control numerical code --------------------------------- @@ -548,9 +549,9 @@ | Jingyue Wu, Artem Belevich, Eli Bendersky, Mark Heffernan, Chris Leary, Jacques Pienaar, Bjarke Roune, Rob Springer, Xuetian Weng, Robert Hundt | *Proceedings of the 2016 International Symposium on Code Generation and Optimization (CGO 2016)* | -| `Slides from the CGO talk `_ +| `Slides from the CGO talk `_ | -| `Tutorial given at CGO `_ +| `Tutorial given at CGO `_ Obtaining Help ==============