]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Remove is_cuda_compatible
authorDaniel Arndt <arndtd@ornl.gov>
Mon, 6 Feb 2023 22:46:50 +0000 (22:46 +0000)
committerDaniel Arndt <arndtd@ornl.gov>
Sat, 11 Feb 2023 04:43:04 +0000 (23:43 -0500)
include/deal.II/base/numbers.h
include/deal.II/differentiation/ad/sacado_number_types.h

index 0e13bb2a415200fd7e665f2ff45c90f012044f1e..26072316a75b1d1f51e248b0c591b1d41b7daaa4 100644 (file)
@@ -267,22 +267,6 @@ namespace numbers
    */
   static constexpr double SQRT1_2 = 0.70710678118654752440;
 
-  /**
-   * Check whether the given type can be used in CUDA device code.
-   * If not, DEAL_II_HOST_DEVICE needs to be disabled for functions
-   * that use this type.
-   */
-  template <typename Number, typename = void>
-  struct is_cuda_compatible : std::true_type
-  {};
-
-  /**
-   * std::complex cannot be used in CUDA device code.
-   */
-  template <typename Number>
-  struct is_cuda_compatible<std::complex<Number>, void> : std::false_type
-  {};
-
   /**
    * Return @p true if the given value is a finite floating point number, i.e.
    * is neither plus or minus infinity nor NaN (not a number).
@@ -468,17 +452,7 @@ namespace numbers
      * @note If the template type can be used in CUDA device code, the same holds true
      * for this function.
      */
-    template <typename Dummy = number>
-    static constexpr DEAL_II_HOST_DEVICE
-      std::enable_if_t<std::is_same<Dummy, number>::value &&
-                         is_cuda_compatible<Dummy>::value,
-                       real_type>
-      abs_square(const number &x);
-
-    template <typename Dummy = number>
-    static constexpr std::enable_if_t<std::is_same<Dummy, number>::value &&
-                                        !is_cuda_compatible<Dummy>::value,
-                                      real_type>
+    static constexpr DEAL_II_HOST_DEVICE real_type
     abs_square(const number &x);
 
     /**
@@ -595,23 +569,7 @@ namespace numbers
 
 
   template <typename number>
-  template <typename Dummy>
-  constexpr DEAL_II_HOST_DEVICE
-    std::enable_if_t<std::is_same<Dummy, number>::value &&
-                       is_cuda_compatible<Dummy>::value,
-                     typename NumberTraits<number>::real_type>
-    NumberTraits<number>::abs_square(const number &x)
-  {
-    return x * x;
-  }
-
-
-
-  template <typename number>
-  template <typename Dummy>
-  constexpr std::enable_if_t<std::is_same<Dummy, number>::value &&
-                               !is_cuda_compatible<Dummy>::value,
-                             typename NumberTraits<number>::real_type>
+  constexpr DEAL_II_HOST_DEVICE typename NumberTraits<number>::real_type
   NumberTraits<number>::abs_square(const number &x)
   {
     return x * x;
index f55e0de9caf18f23fc5fc998201c3d1493c0eae5..0829716352d44c1fe1f2c77477ac7016f1dd254b 100644 (file)
@@ -906,17 +906,6 @@ namespace Differentiation
 } // namespace Differentiation
 
 
-namespace numbers
-{
-  template <typename NumberType>
-  struct is_cuda_compatible<
-    NumberType,
-    std::enable_if_t<
-      dealii::Differentiation::AD::is_sacado_rad_number<NumberType>::value>>
-    : std::false_type
-  {};
-} // namespace numbers
-
 #  endif // DOXYGEN
 
 

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.