]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add documentation to enable CUDA support 5105/head
authorBruno Turcksin <bruno.turcksin@gmail.com>
Sun, 17 Sep 2017 04:04:04 +0000 (00:04 -0400)
committerBruno Turcksin <bruno.turcksin@gmail.com>
Mon, 18 Sep 2017 14:20:45 +0000 (10:20 -0400)
doc/external-libs/cuda.html [new file with mode: 0644]
doc/readme.html

diff --git a/doc/external-libs/cuda.html b/doc/external-libs/cuda.html
new file mode 100644 (file)
index 0000000..efd9230
--- /dev/null
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+         "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+  <head>
+    <title>The deal.II Readme on interfacing to CUDA</title>
+    <link href="../screen.css" rel="StyleSheet">
+    <meta name="copyright" content="Copyright (C) 2017 by the deal.II authors">
+    <meta name="keywords" content="deal.II">
+  </head>
+
+  <body>
+
+    <h1>Installing deal.II with CUDA</h1>                  
+
+    <p>
+      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.
+    </p>
+
+    <p>
+      To configure deal.II with CUDA use the following option:
+      <pre>
+
+        -DDEAL_II_WITH_CUDA=ON
+      </pre>
+      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:
+      <pre>
+
+        -DDEAL_II_WITH_CXX14=OFF
+      </pre>
+      By default, we assume that your GPU has compute capability 3.5 but you 
+      can easily set your own CUDA flags:
+      <pre>
+
+        -DDEAL_II_CUDA_FLAGS="-arch=sm_60"
+      </pre>
+      <code>-DDEAL_II_CUDA_FLAGS_DEBUG</code> and 
+      <code>-DDEAL_II_CUDA_FLAGS_RELEASE</code> 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 
+      <code>-DDEAL_II_CUDA_COMPILER</code> and 
+      <code>-DDEAL_II_CUDA_TOOLKIT_ROOT_DIR</code>.
+    </p>
+
+  </body>
+  
+</html>
index 412f3a83f2659da1fe7313cc017de4a6bacfbc0f..d8218350a660d91cc84012713da57842a78997d1 100644 (file)
        </p>
       </dd>
 
+
+      <dt><a name="CUDA"></a><a href="https://developer.nvidia.com/cuda-zone">CUDA</a></dt>
+      <dd>
+  <p>
+    <a href="https://developer.nvidia.com/cuda-zone">CUDA</a> 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 <a href=external-libs/cuda.html
+       target="body">here</a>.
+  </p>
+
       <dt><a name="GSL"></a><a href="http://www.gnu.org/software/gsl/">GSL</a></dt>
       <dd>
        <p>

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.