From 38e6b889ed2fd37778374f403e89cc9dc5d6bec5 Mon Sep 17 00:00:00 2001 From: Bruno Turcksin Date: Sun, 17 Sep 2017 00:04:04 -0400 Subject: [PATCH] Add documentation to enable CUDA support --- doc/external-libs/cuda.html | 56 +++++++++++++++++++++++++++++++++++++ doc/readme.html | 13 +++++++++ 2 files changed, 69 insertions(+) create mode 100644 doc/external-libs/cuda.html diff --git a/doc/external-libs/cuda.html b/doc/external-libs/cuda.html new file mode 100644 index 0000000000..efd923065c --- /dev/null +++ b/doc/external-libs/cuda.html @@ -0,0 +1,56 @@ + + + + The deal.II Readme on interfacing to CUDA + + + + + + + +

Installing deal.II with CUDA

+ +

+ To compile and run CUDA code, you need a CUDA-enabled GPU, appropriate + drivers, the CUDA toolkit, and the nvcc compiler. Unlike other libraries, + you need special hardware and compiler to enable CUDA. Because the + hardware is always evolving, older GPUs do not support all the + capabilities of newer ones. In order to use CUDA with deal.II, you will + need your GPU to have compute capability 3.5 or higher. Independently + from the GPU itself, you also need a version of CUDA recent enough. + deal.II supports CUDA 8.0 and higher. Finally to be able to configure + deal.II, you will need CMake 3.9 or higher. +

+ +

+ To configure deal.II with CUDA use the following option: +

+
+        -DDEAL_II_WITH_CUDA=ON
+      
+ Depending on you system, this may be enough to get CUDA to work. If you + are using CUDA 8 with gcc 5.4, you will need to turn off support for + C++14: +
+
+        -DDEAL_II_WITH_CXX14=OFF
+      
+ By default, we assume that your GPU has compute capability 3.5 but you + can easily set your own CUDA flags: +
+
+        -DDEAL_II_CUDA_FLAGS="-arch=sm_60"
+      
+ -DDEAL_II_CUDA_FLAGS_DEBUG and + -DDEAL_II_CUDA_FLAGS_RELEASE are also available if you want + a finer control on the CUDA flags. Finally, the CUDA compiler and the + CUDA toolkit root directory can be set using + -DDEAL_II_CUDA_COMPILER and + -DDEAL_II_CUDA_TOOLKIT_ROOT_DIR. +

+ + + + diff --git a/doc/readme.html b/doc/readme.html index 412f3a83f2..d8218350a6 100644 --- a/doc/readme.html +++ b/doc/readme.html @@ -554,6 +554,19 @@

+ +
CUDA
+
+

+ CUDA is a parallel + computing platform and API model created by Nvidia. It allows software + developers and software engineers to use CUDA-enabled GPU for general + purpose processing. + + Details about compatibility and configuration can be found here. +

+
GSL

-- 2.39.5