preCICE v3.2.0
Loading...
Searching...
No Matches
GinkgoRBFKernels.cpp File Reference
#include "mapping/device/GinkgoRBFKernels.hpp"
#include "mapping/impl/BasisFunctions.hpp"
#include "math/math.hpp"
#include <functional>
#include <ginkgo/extensions/kokkos.hpp>
#include <ginkgo/ginkgo.hpp>
Include dependency graph for GinkgoRBFKernels.cpp:

Go to the source code of this file.

Classes

struct  RadialBasisParameters
 Wrapper struct that is used to transfer RBF-specific parameters to the GPU. More...

Namespaces

namespace  precice
 Main namespace of the precice library.
namespace  precice::mapping
 contains data mapping from points to meshes.
namespace  precice::mapping::kernel

Macros

#define PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX(_function_type)

Functions

std::shared_ptr< gko::Executor > precice::mapping::create_device_executor (const std::string &execName, bool enableUnifiedMemory)
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)
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)
 precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (ThinPlateSplines)
 precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (Multiquadrics)
 precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (InverseMultiquadrics)
 precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (VolumeSplines)
 precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (Gaussian)
 precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (CompactThinPlateSplinesC2)
 precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (CompactPolynomialC0)
 precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (CompactPolynomialC2)
 precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (CompactPolynomialC4)
 precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (CompactPolynomialC6)
 precice::mapping::kernel::PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX (CompactPolynomialC8)
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)
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)
template<int iexp, typename T>
constexpr T pow_int (const T x)
 Computes the power of a given number by an integral exponent given at compile time, which is much faster than std::pow(x, iexp)

Macro Definition Documentation

◆ PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX

#define PRECICE_INSTANTIATE_CREATE_RBF_SYSTEM_MATRIX ( _function_type)
Value:
template void create_rbf_system_matrix<_function_type>(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, \
_function_type f, RadialBasisParameters rbf_params, bool addPolynomial, unsigned int extraDims)
Wrapper struct that is used to transfer RBF-specific parameters to the GPU.

Definition at line 165 of file GinkgoRBFKernels.cpp.

Function Documentation

◆ pow_int()

template<int iexp, typename T>
T precice::math::pow_int ( const T x)
inlineconstexpr

Computes the power of a given number by an integral exponent given at compile time, which is much faster than std::pow(x, iexp)

Definition at line 22 of file math.hpp.