Skip to content

Commit

Permalink
Make vectorization information accessable
Browse files Browse the repository at this point in the history
  • Loading branch information
peterrum committed Nov 27, 2021
1 parent 38b0b56 commit 2421935
Showing 1 changed file with 38 additions and 29 deletions.
67 changes: 38 additions & 29 deletions include/deal.II/matrix_free/evaluation_kernels_hanging_nodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,28 @@ namespace internal



enum class VectorizationTypes
{
/**
* TODO
*/
index,
/**
* TODO
*/
group,
/**
* TODO
*/
mask,
/**
* TODO
*/
sorted
};



template <FEEvaluationImplHangingNodesRunnerTypes,
int dim,
int fe_degree,
Expand Down Expand Up @@ -407,27 +429,7 @@ namespace internal
Number,
is_face>
{
private:
enum class VectorizationTypes
{
/**
* TODO
*/
index,
/**
* TODO
*/
group,
/**
* TODO
*/
mask,
/**
* TODO
*/
sorted
};

public:
static const VectorizationTypes VectorizationType =
VectorizationTypes::index;

Expand Down Expand Up @@ -1664,14 +1666,12 @@ namespace internal
& c_mask,
Number *values)
{
using RunnerType = FEEvaluationImplHangingNodesRunner<
(fe_degree == -1 || fe_degree > 2) ?
FEEvaluationImplHangingNodesRunnerTypes::vectorized :
FEEvaluationImplHangingNodesRunnerTypes::scalar,
dim,
fe_degree,
Number,
is_face>;
using RunnerType =
FEEvaluationImplHangingNodesRunner<used_runner_type<fe_degree>(),
dim,
fe_degree,
Number,
is_face>;

if (transpose)
RunnerType::template run_internal<true>(n_desired_components,
Expand All @@ -1686,6 +1686,15 @@ namespace internal

return false;
}

template <int fe_degree>
static constexpr FEEvaluationImplHangingNodesRunnerTypes
used_runner_type()
{
return (fe_degree == -1 || fe_degree > 2) ?
FEEvaluationImplHangingNodesRunnerTypes::vectorized :
FEEvaluationImplHangingNodesRunnerTypes::scalar;
}
};


Expand Down

0 comments on commit 2421935

Please sign in to comment.