]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add more function and classes to the CUDAWrappers group 7068/head
authorDaniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
Thu, 16 Aug 2018 12:44:08 +0000 (14:44 +0200)
committerDaniel Arndt <daniel.arndt@iwr.uni-heidelberg.de>
Thu, 16 Aug 2018 12:44:08 +0000 (14:44 +0200)
include/deal.II/lac/cuda_kernels.h
include/deal.II/lac/cuda_vector.h

index 8e525463c481a2b6b97d7764a5077a08b9bf4fa7..9c64b4e887741fbb4a2dab77e1b1a4f43d6523da 100644 (file)
@@ -43,6 +43,8 @@ namespace LinearAlgebra
 
       /**
        * Multiply each entry of @p val of size @p N by @p a.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
@@ -52,6 +54,8 @@ namespace LinearAlgebra
 
       /**
        * Functor defining the addition of two Numbers.
+       *
+       * @ingroup CUDAWrappers
        */
       struct Binop_Addition
       {
@@ -67,6 +71,8 @@ namespace LinearAlgebra
 
       /**
        * Functor defining the subtraction of two Numbers.
+       *
+       * @ingroup CUDAWrappers
        */
       struct Binop_Subtraction
       {
@@ -82,6 +88,8 @@ namespace LinearAlgebra
 
       /**
        * Apply the functor @tparam Binop to each element of @p v1 and @p v2.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number, typename Binop>
       __global__ void
@@ -92,6 +100,8 @@ namespace LinearAlgebra
       /**
        * Structure implementing the functions used to add elements when using a
        * reduction.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       struct ElemSum
@@ -114,6 +124,8 @@ namespace LinearAlgebra
       /**
        * Structure implementing the functions used to compute the L1 norm when
        * using a reduction.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       struct L1Norm
@@ -136,6 +148,8 @@ namespace LinearAlgebra
       /**
        * Structure implementing the functions used to compute the L-infinity
        * norm when using a reduction.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       struct LInfty
@@ -156,7 +170,9 @@ namespace LinearAlgebra
 
 
       /**
-       * Perform a reduction on @p v using @tparam Operation
+       * Perform a reduction on @p v using @tparam Operation.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number, typename Operation>
       __global__ void
@@ -167,6 +183,8 @@ namespace LinearAlgebra
       /**
        * Structure implementing the functions used to compute the dot product
        * norm when using a double vector reduction.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       struct DotProduct
@@ -189,6 +207,8 @@ namespace LinearAlgebra
       /**
        * Perform a binary operation on each element of @p v1 and @p v2 followed
        * by reduction on the resulting array.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number, typename Operation>
       __global__ void
@@ -201,6 +221,8 @@ namespace LinearAlgebra
 
       /**
        * Add @p a to each element of @p val.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
@@ -210,6 +232,8 @@ namespace LinearAlgebra
 
       /**
        * Addition of a multiple of a vector, i.e., <tt>val += a*V_val</tt>.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
@@ -223,6 +247,8 @@ namespace LinearAlgebra
       /**
        * Addition of multiple scaled vector, i.e., <tt>val += a*V_val +
        * b*W_val</tt>.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
@@ -238,6 +264,8 @@ namespace LinearAlgebra
       /**
        * Scaling and simple addition of a multiple of a vector, i.e. <tt>val =
        * = s*val + a*V_val</tt>
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
@@ -252,6 +280,8 @@ namespace LinearAlgebra
       /**
        * Scaling and multiple additions of scaled vectors, i.e. <tt>val =
        * = s*val + a*V_val + b*W_val</tt>
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
@@ -268,6 +298,8 @@ namespace LinearAlgebra
       /**
        * Scale each element of this vector by the corresponding element in the
        * argument.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
@@ -277,6 +309,8 @@ namespace LinearAlgebra
 
       /**
        * Assignment <tt>val = a*V_val</tt>.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
@@ -286,6 +320,8 @@ namespace LinearAlgebra
 
       /**
        * Assignment <tt>val = a*V_val + b*W_val</tt>.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
@@ -301,6 +337,8 @@ namespace LinearAlgebra
       /**
        * Perform a combined operation of a vector addition and a subsequent
        * inner product, returning the value of the inner product.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
@@ -315,6 +353,8 @@ namespace LinearAlgebra
 
       /**
        * Set each element of @p val to @p s.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
@@ -324,6 +364,8 @@ namespace LinearAlgebra
       /**
        * Set each element @v val to @p v using @p indices as permutation, i.e.,
        * <tt>val[indices[i]] = v[i]</tt>.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
@@ -337,6 +379,8 @@ namespace LinearAlgebra
       /**
        * Add each element @v val to @p v using @p indices as permutation, i.e.,
        * <tt>val[indices[i]] += v[i]</tt>.
+       *
+       * @ingroup CUDAWrappers
        */
       template <typename Number>
       __global__ void
index f976eab15204e8fdc7fc2550ed1cd7318c2dedee..23247c4188cb1561ad722698164be471745f58df 100644 (file)
@@ -45,8 +45,7 @@ namespace LinearAlgebra
      *
      * @note Only float and double are supported.
      *
-     * @see CUDAWrappers
-     * @ingroup Vectors
+     * @ingroup CUDAWrappers Vectors
      * @author Karl Ljungkvist, Bruno Turcksin, 2016
      */
     template <typename Number>

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.