size_t
team_shmem_size(int /*team_size*/) const
{
- return SharedViewValues::shmem_size(Functor::n_local_dofs,
+ return SharedViewValues::shmem_size(Functor::n_local_dofs /
+ gpu_data.n_components,
gpu_data.n_components) +
- SharedViewGradients::shmem_size(Functor::n_local_dofs,
+ SharedViewGradients::shmem_size(Functor::n_local_dofs /
+ gpu_data.n_components,
dim,
gpu_data.n_components);
}
{
// Get the scratch memory
SharedViewValues values(team_member.team_shmem(),
- Functor::n_local_dofs,
+ Functor::n_local_dofs / gpu_data.n_components,
gpu_data.n_components);
SharedViewGradients gradients(team_member.team_shmem(),
- Functor::n_local_dofs,
+ Functor::n_local_dofs /
+ gpu_data.n_components,
dim,
gpu_data.n_components);
};
static constexpr unsigned int n_local_dofs =
- dealii::Utilities::pow(fe_degree + 1, dim);
+ dealii::Utilities::pow(fe_degree + 1, dim) * n_components;
static constexpr unsigned int n_q_points =
dealii::Utilities::pow(n_q_points_1d, dim);
phi.distribute_local_to_global(dst);
}
- static const unsigned int n_dofs_1d = fe_degree + 1;
- static const unsigned int n_local_dofs = Utilities::pow(fe_degree + 1, dim);
- static const unsigned int n_q_points = Utilities::pow(fe_degree + 1, dim);
+ static const unsigned int n_dofs_1d = fe_degree + 1;
+ static const unsigned int n_local_dofs =
+ Utilities::pow(fe_degree + 1, dim) * n_components;
+ static const unsigned int n_q_points = Utilities::pow(fe_degree + 1, dim);
private:
const unsigned int version;