From: Daniel Arndt <arndtd@ornl.gov>
Date: Mon, 6 Feb 2023 22:46:50 +0000 (+0000)
Subject: Remove is_cuda_compatible
X-Git-Tag: v9.5.0-rc1~521^2~2
X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd05c24e33c05f89a8383327fbce225950559f0f;p=dealii.git

Remove is_cuda_compatible
---

diff --git a/include/deal.II/base/numbers.h b/include/deal.II/base/numbers.h
index 0e13bb2a41..26072316a7 100644
--- a/include/deal.II/base/numbers.h
+++ b/include/deal.II/base/numbers.h
@@ -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;
diff --git a/include/deal.II/differentiation/ad/sacado_number_types.h b/include/deal.II/differentiation/ad/sacado_number_types.h
index f55e0de9ca..0829716352 100644
--- a/include/deal.II/differentiation/ad/sacado_number_types.h
+++ b/include/deal.II/differentiation/ad/sacado_number_types.h
@@ -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