Skip to content

Commit

Permalink
Merge pull request #14366 from peterrum/fdm_va
Browse files Browse the repository at this point in the history
TensorProductMatrix: with arbitrary number of lanes
  • Loading branch information
kronbichler committed Nov 1, 2022
2 parents d89583e + e68ca17 commit 0326ce6
Showing 1 changed file with 12 additions and 8 deletions.
20 changes: 12 additions & 8 deletions include/deal.II/lac/tensor_product_matrix.h
Original file line number Diff line number Diff line change
Expand Up @@ -585,16 +585,20 @@ namespace internal



template <std::size_t dim, typename Number>
template <std::size_t dim, typename Number, std::size_t n_lanes>
inline void
setup(const std::array<Table<2, VectorizedArray<Number>>, dim> &mass_matrix,
const std::array<Table<2, VectorizedArray<Number>>, dim>
& derivative_matrix,
std::array<Table<2, VectorizedArray<Number>>, dim> &eigenvectors,
std::array<AlignedVector<VectorizedArray<Number>>, dim> &eigenvalues)
setup(
const std::array<Table<2, VectorizedArray<Number, n_lanes>>, dim>
&mass_matrix,
const std::array<Table<2, VectorizedArray<Number, n_lanes>>, dim>
&derivative_matrix,
std::array<Table<2, VectorizedArray<Number, n_lanes>>, dim> &eigenvectors,
std::array<AlignedVector<VectorizedArray<Number, n_lanes>>, dim>
&eigenvalues)
{
const unsigned int n_rows_1d = mass_matrix[0].n_cols();
constexpr unsigned int macro_size = VectorizedArray<Number>::size();
const unsigned int n_rows_1d = mass_matrix[0].n_cols();
constexpr unsigned int macro_size =
VectorizedArray<Number, n_lanes>::size();
const std::size_t nm_flat_size_max = n_rows_1d * n_rows_1d * macro_size;
const std::size_t n_flat_size_max = n_rows_1d * macro_size;

Expand Down

0 comments on commit 0326ce6

Please sign in to comment.