--- /dev/null
+<!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>
</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>