aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/UsingNVCC.dox
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2017-07-17 11:05:26 +0200
committerGravatar Gael Guennebaud <g.gael@free.fr>2017-07-17 11:05:26 +0200
commita74b9ba7cda08b8fbcb187aa5e96f0e99cf9b684 (patch)
tree444e19736782cd862c75e5e4c405d8959496760b /doc/UsingNVCC.dox
parent3182bdbae68b11aa8278107ca71c5df2de789e66 (diff)
Update documentation for CUDA
Diffstat (limited to 'doc/UsingNVCC.dox')
-rw-r--r--doc/UsingNVCC.dox12
1 files changed, 5 insertions, 7 deletions
diff --git a/doc/UsingNVCC.dox b/doc/UsingNVCC.dox
index f8e755b79..9bcdf0bfc 100644
--- a/doc/UsingNVCC.dox
+++ b/doc/UsingNVCC.dox
@@ -3,18 +3,16 @@ namespace Eigen {
/** \page TopicCUDA Using Eigen in CUDA kernels
-\b Disclaimer: this page is about an \b experimental feature in %Eigen.
-
-Staring from CUDA 5.0, the CUDA compiler, \c nvcc, is able to properly parse %Eigen's code (almost).
-A few adaptations of the %Eigen's code already allows to use some parts of %Eigen in your own CUDA kernels.
-To this end you need the devel branch of %Eigen, CUDA 5.0 or greater with GCC.
+Staring from CUDA 5.5 and Eigen 3.3, it is possible to use Eigen's matrices, vectors, and arrays for fixed size within CUDA kernels. This is especially useful when working on numerous but small problems. By default, when Eigen's headers are included within a .cu file compiled by nvcc most Eigen's functions and methods are prefixed by the \c __device__ \c __host__ keywords making them callable from both host and device code.
+This support can be disabled by defining \c EIGEN_NO_CUDA before including any Eigen's header.
+This might be usefull to disable some warnings when a .cu file makes use of Eigen on the host side only.
+However, in both cases, host's SIMD vectorization has to be disabled in .cu files.
+It is thus \b strongly \b recommended to properly move all costly host computation from your .cu files to regular .cpp files.
Known issues:
- \c nvcc with MS Visual Studio does not work (patch welcome)
- - \c nvcc with \c clang does not work (patch welcome)
-
- \c nvcc 5.5 with gcc-4.7 (or greater) has issues with the standard \c \<limits\> header file. To workaround this, you can add the following before including any other files:
\code
// workaround issue between gcc >= 4.7 and cuda 5.5