preCICE
Loading...
Searching...
No Matches
precice::mapping::kernel Namespace Reference

Namespaces

namespace  impl

Typedefs

template<typename MemorySpace = ExecutionSpace>
using BatchMatrix = Kokkos::View<double **, MemorySpace, UnmanagedMemory>
template<typename T = double *, typename MemorySpace = ExecutionSpace>
using BatchVector = Kokkos::View<T, MemorySpace, UnmanagedMemory>

Functions

template<typename MemorySpace, typename EvalFunctionType>
void create_rbf_system_matrix_impl (std::shared_ptr< const gko::Executor > exec, gko::ptr_param< GinkgoMatrix > mtx, const std::array< bool, 3 > activeAxis, gko::ptr_param< GinkgoMatrix > supportPoints, gko::ptr_param< GinkgoMatrix > targetPoints, EvalFunctionType f, ::precice::mapping::RadialBasisParameters rbf_params, bool addPolynomial, unsigned int extraDims)
template<typename EvalFunctionType>
void create_rbf_system_matrix (std::shared_ptr< const gko::Executor > exec, bool unifiedMemory, gko::ptr_param< GinkgoMatrix > mtx, const std::array< bool, 3 > activeAxis, gko::ptr_param< GinkgoMatrix > supportPoints, gko::ptr_param< GinkgoMatrix > targetPoints, EvalFunctionType f, ::precice::mapping::RadialBasisParameters rbf_params, bool addPolynomial, unsigned int extraDims)
 PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (ThinPlateSplines)
 PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (Multiquadrics)
 PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (InverseMultiquadrics)
 PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (VolumeSplines)
 PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (Gaussian)
 PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (CompactThinPlateSplinesC2)
 PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (CompactPolynomialC0)
 PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (CompactPolynomialC2)
 PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (CompactPolynomialC4)
 PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (CompactPolynomialC6)
 PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (CompactPolynomialC8)
template<typename MemorySpace>
void fill_polynomial_matrix_impl (std::shared_ptr< const gko::Executor > exec, gko::ptr_param< GinkgoMatrix > mtx, gko::ptr_param< const GinkgoMatrix > x, const unsigned int dims)
void fill_polynomial_matrix (std::shared_ptr< const gko::Executor > exec, bool unifiedMemory, gko::ptr_param< GinkgoMatrix > mtx, gko::ptr_param< const GinkgoMatrix > x, const unsigned int dims)
template<typename MemorySpace>
void compute_offsets (const VectorOffsetView< MemorySpace > src1, const VectorOffsetView< MemorySpace > src2, MatrixOffsetView< MemorySpace > dst, int nCluster)
template<typename MemorySpace>
bool compute_weights (const int nCluster, const int avgOutClusterSize, const offset_1d_type nWeights, const int nMeshVertices, const int dim, VectorOffsetView< MemorySpace > offsets, MeshView< MemorySpace > centers, GlobalIDView< MemorySpace > globalIDs, MeshView< MemorySpace > mesh, const CompactPolynomialC2 &w, VectorView< MemorySpace > normalizedWeights)
template<typename EvalFunctionType, typename MemorySpace>
void do_input_assembly (int nCluster, int dim, int avgClusterSize, int maxInClusterSize, EvalFunctionType f, const VectorOffsetView< MemorySpace > &inOffsets, const GlobalIDView< MemorySpace > &globalInIDs, const MeshView< MemorySpace > &inCoords, const MatrixOffsetView< MemorySpace > &matrixOffsets, VectorView< MemorySpace > matrices)
template<typename EvalFunctionType, typename MemorySpace>
void do_batched_assembly (int nCluster, int dim, int avgClusterSize, EvalFunctionType f, const VectorOffsetView< MemorySpace > &inOffsets, const GlobalIDView< MemorySpace > &globalInIDs, const MeshView< MemorySpace > &inCoords, const VectorOffsetView< MemorySpace > &targetOffsets, const GlobalIDView< MemorySpace > &globalTargetIDs, const MeshView< MemorySpace > &targetCoords, const MatrixOffsetView< MemorySpace > &matrixOffsets, VectorView< MemorySpace > matrices)
template<typename MemorySpace>
void do_batched_qr (int nCluster, int dim, int avgClusterSize, int maxClusterSize, VectorOffsetView< MemorySpace > inOffsets, GlobalIDView< MemorySpace > globalInIDs, MeshView< MemorySpace > inMesh, VectorView< MemorySpace > qrMatrix, VectorView< MemorySpace > qrTau, PivotView< MemorySpace > qrP)
template<typename MemorySpace>
void do_qr_solve (int nCluster, int dim, int maxInClusterSize, VectorOffsetView< MemorySpace > inOffsets, GlobalIDView< MemorySpace > globalInIDs, VectorView< MemorySpace > inData, MeshView< MemorySpace > inMesh, VectorView< MemorySpace > qrMatrix, VectorView< MemorySpace > qrTau, PivotView< MemorySpace > qrP, const VectorView< MemorySpace > weights, VectorOffsetView< MemorySpace > outOffsets, GlobalIDView< MemorySpace > globalOutIDs, VectorView< MemorySpace > outData, MeshView< MemorySpace > outMesh)
template<typename MemorySpace>
void do_batched_lu (int nCluster, int avgClusterSize, const MatrixOffsetView< MemorySpace > &matrixOffsets, VectorView< MemorySpace > matrices)
template<bool polynomial, bool evaluation_op_available, typename EvalFunctionType, typename MemorySpace>
void do_batched_solve (int nCluster, int dim, int avgInClusterSize, int maxInClusterSize, int maxOutClusterSize, EvalFunctionType f, const VectorOffsetView< MemorySpace > &rhsOffsets, const GlobalIDView< MemorySpace > &globalRhsIDs, VectorView< MemorySpace > rhs, const MatrixOffsetView< MemorySpace > &matrixOffsets, const VectorView< MemorySpace > &matrices, const VectorView< MemorySpace > &normalizedWeights, const MatrixOffsetView< MemorySpace > &evalOffsets, const VectorView< MemorySpace > &evalMat, const VectorOffsetView< MemorySpace > &outOffsets, const GlobalIDView< MemorySpace > &globalOutIDs, VectorView< MemorySpace > out, const MeshView< MemorySpace > &inMesh, const MeshView< MemorySpace > &outMesh, const VectorView< MemorySpace > &qrMatrix, const VectorView< MemorySpace > &qrTau, const PivotView< MemorySpace > &qrP)

Typedef Documentation

◆ BatchMatrix

template<typename MemorySpace = ExecutionSpace>
using precice::mapping::kernel::BatchMatrix = Kokkos::View<double **, MemorySpace, UnmanagedMemory>

Definition at line 95 of file KokkosPUMKernels_Impl.hpp.

◆ BatchVector

template<typename T = double *, typename MemorySpace = ExecutionSpace>
using precice::mapping::kernel::BatchVector = Kokkos::View<T, MemorySpace, UnmanagedMemory>

Definition at line 97 of file KokkosPUMKernels_Impl.hpp.

Function Documentation

◆ compute_offsets()

template<typename MemorySpace>
void precice::mapping::kernel::compute_offsets ( const VectorOffsetView< MemorySpace > src1,
const VectorOffsetView< MemorySpace > src2,
MatrixOffsetView< MemorySpace > dst,
int nCluster )

Definition at line 280 of file KokkosPUMKernels_Impl.hpp.

◆ compute_weights()

template<typename MemorySpace>
bool precice::mapping::kernel::compute_weights ( const int nCluster,
const int avgOutClusterSize,
const offset_1d_type nWeights,
const int nMeshVertices,
const int dim,
VectorOffsetView< MemorySpace > offsets,
MeshView< MemorySpace > centers,
GlobalIDView< MemorySpace > globalIDs,
MeshView< MemorySpace > mesh,
const CompactPolynomialC2 & w,
VectorView< MemorySpace > normalizedWeights )

Definition at line 100 of file KokkosPUMKernels_Impl.hpp.

Here is the call graph for this function:

◆ create_rbf_system_matrix()

template<typename EvalFunctionType>
void precice::mapping::kernel::create_rbf_system_matrix ( std::shared_ptr< const gko::Executor > exec,
bool unifiedMemory,
gko::ptr_param< GinkgoMatrix > mtx,
const std::array< bool, 3 > activeAxis,
gko::ptr_param< GinkgoMatrix > supportPoints,
gko::ptr_param< GinkgoMatrix > targetPoints,
EvalFunctionType f,
::precice::mapping::RadialBasisParameters rbf_params,
bool addPolynomial,
unsigned int extraDims )

Definition at line 120 of file GinkgoRBFKernels.cpp.

Here is the call graph for this function:

◆ create_rbf_system_matrix_impl()

template<typename MemorySpace, typename EvalFunctionType>
void precice::mapping::kernel::create_rbf_system_matrix_impl ( std::shared_ptr< const gko::Executor > exec,
gko::ptr_param< GinkgoMatrix > mtx,
const std::array< bool, 3 > activeAxis,
gko::ptr_param< GinkgoMatrix > supportPoints,
gko::ptr_param< GinkgoMatrix > targetPoints,
EvalFunctionType f,
::precice::mapping::RadialBasisParameters rbf_params,
bool addPolynomial,
unsigned int extraDims )

Definition at line 53 of file GinkgoRBFKernels.cpp.

◆ do_batched_assembly()

template<typename EvalFunctionType, typename MemorySpace>
void precice::mapping::kernel::do_batched_assembly ( int nCluster,
int dim,
int avgClusterSize,
EvalFunctionType f,
const VectorOffsetView< MemorySpace > & inOffsets,
const GlobalIDView< MemorySpace > & globalInIDs,
const MeshView< MemorySpace > & inCoords,
const VectorOffsetView< MemorySpace > & targetOffsets,
const GlobalIDView< MemorySpace > & globalTargetIDs,
const MeshView< MemorySpace > & targetCoords,
const MatrixOffsetView< MemorySpace > & matrixOffsets,
VectorView< MemorySpace > matrices )

Definition at line 389 of file KokkosPUMKernels_Impl.hpp.

Here is the call graph for this function:

◆ do_batched_lu()

template<typename MemorySpace>
void precice::mapping::kernel::do_batched_lu ( int nCluster,
int avgClusterSize,
const MatrixOffsetView< MemorySpace > & matrixOffsets,
VectorView< MemorySpace > matrices )

Definition at line 460 of file KokkosPUMKernels_Impl.hpp.

Here is the call graph for this function:

◆ do_batched_qr()

template<typename MemorySpace>
void precice::mapping::kernel::do_batched_qr ( int nCluster,
int dim,
int avgClusterSize,
int maxClusterSize,
VectorOffsetView< MemorySpace > inOffsets,
GlobalIDView< MemorySpace > globalInIDs,
MeshView< MemorySpace > inMesh,
VectorView< MemorySpace > qrMatrix,
VectorView< MemorySpace > qrTau,
PivotView< MemorySpace > qrP )

Definition at line 179 of file KokkosPUMKernels_Impl.hpp.

Here is the call graph for this function:

◆ do_batched_solve()

template<bool polynomial, bool evaluation_op_available, typename EvalFunctionType, typename MemorySpace>
void precice::mapping::kernel::do_batched_solve ( int nCluster,
int dim,
int avgInClusterSize,
int maxInClusterSize,
int maxOutClusterSize,
EvalFunctionType f,
const VectorOffsetView< MemorySpace > & rhsOffsets,
const GlobalIDView< MemorySpace > & globalRhsIDs,
VectorView< MemorySpace > rhs,
const MatrixOffsetView< MemorySpace > & matrixOffsets,
const VectorView< MemorySpace > & matrices,
const VectorView< MemorySpace > & normalizedWeights,
const MatrixOffsetView< MemorySpace > & evalOffsets,
const VectorView< MemorySpace > & evalMat,
const VectorOffsetView< MemorySpace > & outOffsets,
const GlobalIDView< MemorySpace > & globalOutIDs,
VectorView< MemorySpace > out,
const MeshView< MemorySpace > & inMesh,
const MeshView< MemorySpace > & outMesh,
const VectorView< MemorySpace > & qrMatrix,
const VectorView< MemorySpace > & qrTau,
const PivotView< MemorySpace > & qrP )

polynomial: bool whether to evaluate the polynomial or not evaluation_op_available: bool whether to compute the evaluation on the fly (merged) or whether these entries are already precomputed, i.e., evalMat may be a dummy argument in case evaluation_op_available = false

Definition at line 493 of file KokkosPUMKernels_Impl.hpp.

Here is the call graph for this function:

◆ do_input_assembly()

template<typename EvalFunctionType, typename MemorySpace>
void precice::mapping::kernel::do_input_assembly ( int nCluster,
int dim,
int avgClusterSize,
int maxInClusterSize,
EvalFunctionType f,
const VectorOffsetView< MemorySpace > & inOffsets,
const GlobalIDView< MemorySpace > & globalInIDs,
const MeshView< MemorySpace > & inCoords,
const MatrixOffsetView< MemorySpace > & matrixOffsets,
VectorView< MemorySpace > matrices )

Definition at line 307 of file KokkosPUMKernels_Impl.hpp.

Here is the call graph for this function:

◆ do_qr_solve()

template<typename MemorySpace>
void precice::mapping::kernel::do_qr_solve ( int nCluster,
int dim,
int maxInClusterSize,
VectorOffsetView< MemorySpace > inOffsets,
GlobalIDView< MemorySpace > globalInIDs,
VectorView< MemorySpace > inData,
MeshView< MemorySpace > inMesh,
VectorView< MemorySpace > qrMatrix,
VectorView< MemorySpace > qrTau,
PivotView< MemorySpace > qrP,
const VectorView< MemorySpace > weights,
VectorOffsetView< MemorySpace > outOffsets,
GlobalIDView< MemorySpace > globalOutIDs,
VectorView< MemorySpace > outData,
MeshView< MemorySpace > outMesh )

Definition at line 821 of file KokkosPUMKernels_Impl.hpp.

◆ fill_polynomial_matrix()

void precice::mapping::kernel::fill_polynomial_matrix ( std::shared_ptr< const gko::Executor > exec,
bool unifiedMemory,
gko::ptr_param< GinkgoMatrix > mtx,
gko::ptr_param< const GinkgoMatrix > x,
const unsigned int dims )

Definition at line 225 of file GinkgoRBFKernels.cpp.

Here is the call graph for this function:

◆ fill_polynomial_matrix_impl()

template<typename MemorySpace>
void precice::mapping::kernel::fill_polynomial_matrix_impl ( std::shared_ptr< const gko::Executor > exec,
gko::ptr_param< GinkgoMatrix > mtx,
gko::ptr_param< const GinkgoMatrix > x,
const unsigned int dims )

Definition at line 187 of file GinkgoRBFKernels.cpp.

◆ PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX() [1/11]

precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX ( CompactPolynomialC0 )

◆ PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX() [2/11]

precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX ( CompactPolynomialC2 )

◆ PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX() [3/11]

precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX ( CompactPolynomialC4 )

◆ PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX() [4/11]

precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX ( CompactPolynomialC6 )

◆ PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX() [5/11]

precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX ( CompactPolynomialC8 )

◆ PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX() [6/11]

precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX ( CompactThinPlateSplinesC2 )

◆ PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX() [7/11]

precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX ( Gaussian )

◆ PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX() [8/11]

precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX ( InverseMultiquadrics )

◆ PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX() [9/11]

precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX ( Multiquadrics )

◆ PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX() [10/11]

precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX ( ThinPlateSplines )

◆ PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX() [11/11]

precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX ( VolumeSplines )