From: Daniel Arndt Date: Wed, 26 May 2021 15:23:45 +0000 (-0400) Subject: Remove CUDAWrappers::FEEvaluation overloads taking dof index or quadrature point X-Git-Tag: v9.4.0-rc1~1320^2 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F12314%2Fhead;p=dealii.git Remove CUDAWrappers::FEEvaluation overloads taking dof index or quadrature point --- diff --git a/doc/news/changes/incompatibilities/20210526DanielArndt-1 b/doc/news/changes/incompatibilities/20210526DanielArndt-1 new file mode 100644 index 0000000000..7e6186ef5d --- /dev/null +++ b/doc/news/changes/incompatibilities/20210526DanielArndt-1 @@ -0,0 +1,5 @@ +Removed: The overloads in CUDAWrappers::FEEvaluation that take a local dof index +or a quadrature point as arguement have been removed. +Use the ones that don't use these arguments in their interface instead. +
+(Daniel Arndt, 2021/05/26) diff --git a/include/deal.II/matrix_free/cuda_fe_evaluation.h b/include/deal.II/matrix_free/cuda_fe_evaluation.h index a44d5ce117..db88558e34 100644 --- a/include/deal.II/matrix_free/cuda_fe_evaluation.h +++ b/include/deal.II/matrix_free/cuda_fe_evaluation.h @@ -175,15 +175,6 @@ namespace CUDAWrappers __device__ void integrate(const bool integrate_val, const bool integrate_grad); - /** - * Return the value of a finite element function at quadrature point - * number @p q_point after a call to @p evaluate(true,...). - * - * @deprecated Use the version without parameters instead. - */ - DEAL_II_DEPRECATED __device__ value_type - get_value(const unsigned int q_point) const; - /** * Same as above, except that the quadrature point is computed from thread * id. @@ -191,15 +182,6 @@ namespace CUDAWrappers __device__ value_type get_value() const; - /** - * Return the value of a finite element function at degree of freedom - * @p dof after a call to integrate() or before a call to evaluate(). - * - * @deprecated Use the version without parameters instead. - */ - DEAL_II_DEPRECATED __device__ value_type - get_dof_value(const unsigned int dof) const; - /** * Same as above, except that the local dof index is computed from the * thread id. @@ -207,17 +189,6 @@ namespace CUDAWrappers __device__ value_type get_dof_value() const; - /** - * Write a value to the field containing the values on quadrature points - * with component @p q_point. Access to the same fields as through @p - * get_value(). This specifies the value which is tested by all basis - * function on the current cell and integrated over. - * - * @deprecated Use the version without parameters instead. - */ - DEAL_II_DEPRECATED __device__ void - submit_value(const value_type &val_in, const unsigned int q_point); - /** * Same as above, except that the quadrature point is computed from the * thread id. @@ -225,17 +196,6 @@ namespace CUDAWrappers __device__ void submit_value(const value_type &val_in); - /** - * Write a value to the field containing the values for the degree of - * freedom with index @p dof after a call to integrate() or before - * calling evaluate(). Access through the same fields as through - * get_dof_value(). - * - * @deprecated Use the version without parameters instead. - */ - DEAL_II_DEPRECATED __device__ void - submit_dof_value(const value_type &val_in, const unsigned int dof); - /** * Same as above, except that the local dof index is computed from the * thread id. @@ -243,15 +203,6 @@ namespace CUDAWrappers __device__ void submit_dof_value(const value_type &val_in); - /** - * Return the gradient of a finite element function at quadrature point - * number @p q_point after a call to @p evaluate(...,true). - * - * @deprecated Use the version without parameters instead. - */ - DEAL_II_DEPRECATED __device__ gradient_type - get_gradient(const unsigned int q_point) const; - /** * Same as above, except that the quadrature point is computed from the * thread id. @@ -259,16 +210,6 @@ namespace CUDAWrappers __device__ gradient_type get_gradient() const; - /** - * Write a contribution that is tested by the gradient to the field - * containing the values on quadrature points with component @p q_point. - * - * @deprecated Use the version without parameters instead. - */ - DEAL_II_DEPRECATED __device__ void - submit_gradient(const gradient_type &grad_in, const unsigned int q_point); - - /** * Same as above, except that the quadrature point is computed from the * thread id. @@ -276,24 +217,6 @@ namespace CUDAWrappers __device__ void submit_gradient(const gradient_type &grad_in); - // clang-format off - /** - * Apply the functor @p func on every quadrature point. - * - * @p func needs to define - * \code - * __device__ void operator()( - * CUDAWrappers::FEEvaluation *fe_eval, - * const unsigned int q_point) const; - * \endcode - * - * @deprecated Use apply_for_each_quad_point() instead. - */ - // clang-format on - template - DEAL_II_DEPRECATED __device__ void - apply_quad_point_operations(const Functor &func); - // clang-format off /** * Same as above, except that the functor @p func only takes a single input @@ -483,24 +406,6 @@ namespace CUDAWrappers - template - __device__ typename FEEvaluation::value_type - FEEvaluation::get_value( - const unsigned int q_point) const - { - return values[q_point]; - } - - - template - __device__ typename FEEvaluation::value_type - FEEvaluation:: - get_dof_value(const unsigned int dof) const - { - return values[dof]; - } - - - template - __device__ void - FEEvaluation:: - submit_value(const value_type &val_in, const unsigned int q_point) - { - values[q_point] = val_in * JxW[q_point]; - } - - - template - __device__ void - FEEvaluation:: - submit_dof_value(const value_type &val_in, const unsigned int dof) - { - values[dof] = val_in; - } - - - template - __device__ typename FEEvaluation::gradient_type - FEEvaluation:: - get_gradient(const unsigned int q_point) const - { - static_assert(n_components_ == 1, "This function only supports FE with one \ - components"); - // TODO optimize if the mesh is uniform - const Number *inv_jacobian = &inv_jac[q_point]; - gradient_type grad; - for (int d_1 = 0; d_1 < dim; ++d_1) - { - Number tmp = 0.; - for (int d_2 = 0; d_2 < dim; ++d_2) - tmp += inv_jacobian[padding_length * n_cells * (dim * d_2 + d_1)] * - gradients[d_2][q_point]; - grad[d_1] = tmp; - } - - return grad; - } - - - template - __device__ void - FEEvaluation:: - submit_gradient(const gradient_type &grad_in, const unsigned int q_point) - { - // TODO optimize if the mesh is uniform - const Number *inv_jacobian = &inv_jac[q_point]; - for (int d_1 = 0; d_1 < dim; ++d_1) - { - Number tmp = 0.; - for (int d_2 = 0; d_2 < dim; ++d_2) - tmp += inv_jacobian[n_cells * padding_length * (dim * d_1 + d_2)] * - grad_in[d_2]; - gradients[d_1][q_point] = tmp * JxW[q_point]; - } - } - - - template - template - __device__ void - FEEvaluation:: - apply_quad_point_operations(const Functor &func) - { - func(this, internal::compute_index()); - - __syncthreads(); - } - - - template