![]() |
PACMAN 0.1.0
Portable Algorithms for Coupling, Mapping, and Adaptive iNterpolation
|
Classes | |
| struct | DistanceToKNearest |
| Support struct for an ArborX predicate. More... | |
| struct | DistanceToKNearestCallback |
| Custom ArborX callback which returns the squared distance between a cluster center and its nearest points. More... | |
| struct | GetClustersPoints |
| Support struct for an ArborX predicate. More... | |
| struct | GetClustersPointsCallback |
| A custon ArborX callback which returns the indices of the points inside of each region (according to the position of source/target points in the transfer views) More... | |
| struct | OffsetsScan |
| Struct used to build multiple matrices access offsets with one scan loop only, during the systems solver step. More... | |
| struct | OffsetsScanPair |
| struct | Projection |
| Support struct for an ArborX predicate. More... | |
| struct | ProjectionCallback |
| A custom ArborX callback which returns the nearest mesh point of a given value (the nearest projection of it) More... | |
| struct | RemoveTaggedCenters |
A functor which returns true is a given point is tagged for removal (=> if its first dimension coordinate is NaN) More... | |
| struct | TagEmptyCenters |
| Support struct for an ArborX predicate. More... | |
| struct | TagEmptyCentersCallback |
A custon ArborX callback which tags empty regions centers, by setting the x axis value of the center to NAN More... | |
| struct | TransformToNearest |
| Support struct for an ArborX predicate. More... | |
| struct | TransformToNearestCallback |
A custom ArborX callback which performs a nearest point projection for all the ArborX::Point in the given view. More... | |
| class | WendlandC0 |
A functor which computes a RBF function: WendlandC0 Each RBF function must have a host device method fp_t Eval(const
fp_t) const which computes an image of the RBF function And a method SetRadiusInv which is a setter for the function support radius. More... | |
| class | WendlandC2 |
A functor which computes a RBF function: WendlandC2 Each RBF function must have a host device method fp_t Eval(const
fp_t) const which computes an image of the RBF function And a method SetRadiusInv which is a setter for the function support radius. More... | |
| class | WendlandC4 |
A functor which computes a RBF function: WendlandC4 Each RBF function must have a host device method fp_t Eval(const
fp_t) const which computes an image of the RBF function And a method SetRadiusInv which is a setter for the function support radius. More... | |
| class | WendlandC6 |
A functor which computes a RBF function: WendlandC6 Each RBF function must have a host device method fp_t Eval(const
fp_t) const which computes an image of the RBF function And a method SetRadiusInv which is a setter for the function support radius. More... | |
| class | WendlandC8 |
A functor which computes a RBF function: WendlandC8 Each RBF function must have a host device method fp_t Eval(const
fp_t) const which computes an image of the RBF function And a method SetRadiusInv which is a setter for the function support radius. More... | |
Typedefs | |
| template<typename T > | |
| using | base_type = typename std::remove_cv< typename std::remove_reference< T >::type >::type |
| Returns a type without reference or const/volatile modifiers. | |
Functions | |
| template<int_t X, int_t N> | |
| constexpr index_t | CompileTimePow (void) |
| A pow function computed at compile time. | |
| template<int_t Dim> | |
| constexpr auto | ZCurveNeighborOffsets (int_t shape[Dim]) |
| Return the indices offsets of the spatial neighbors given the shape of the space. | |
| template<> | |
| constexpr auto | ZCurveNeighborOffsets< 2 > (int_t shape[2]) |
: 2D specialization of ZCurveNeighborOffsets for faster computations | |
| template<> | |
| constexpr auto | ZCurveNeighborOffsets< 3 > (int_t shape[3]) |
: 3D specialization of ZCurveNeighborOffsets for faster computations | |
| template<KokkosViewRank< 2 > SourceType, KokkosViewRank< 1 > TargetType, int_t Dim> | |
| static void | FillTarget (const SourceType &sourceView, TargetType &targetView) |
| template<KokkosViewRank< 1 > AsViewType, KokkosViewRank< 1 > OffsViewType> | |
| KOKKOS_FORCEINLINE_FUNCTION auto | GetRbfMatrix (const index_t &k, const AsViewType &As, const OffsViewType &offs, const int_t &n, const int_t &m) |
| Returns a matrix of rank 2, shaped as (n, m), using the given data view, team rank, and offsets. | |
| template<KokkosViewRank< 1 > PsViewType, KokkosViewRank< 1 > OffsViewType, KokkosArray AxisType> | |
| KOKKOS_FORCEINLINE_FUNCTION auto | GetPolyMatrix (const index_t &k, const PsViewType &Ps, const OffsViewType &offs, const int_t &n, const AxisType &activeAxis) |
| Returns a matrix of rank 2, shaped as (n, m), using the given data view, team rank, and offsets. | |
| template<KokkosViewRank< 1 > BsViewType, KokkosViewRank< 1 > OffsViewType> | |
| KOKKOS_FORCEINLINE_FUNCTION auto | GetRbfVector (const index_t &k, const BsViewType &Bs, const OffsViewType &offs, const int_t &n) |
| Returns a vector view of rank 1, of length n, using the given data view, team rank, and offsets. | |
| template<KokkosViewRank< 1 > SourceType, KokkosViewRank< 1 > OffsType, KokkosArray AxisType, int_t dim = AxisType::size()> | |
| KOKKOS_INLINE_FUNCTION int_t | SerialDeactivateOneAxis (const SourceType &src, const OffsType &offs, AxisType &activeAxis) |
| Deactivate one axis, the one with the smallest range of values and returns the index of this deactivated axis. | |
| template<KokkosViewRank< 2 > PViewType, KokkosViewRank< 1 > XViewType, KokkosViewRank< 1 > OffsViewType, KokkosArray AxisType, int_t dim = AxisType::size()> | |
| KOKKOS_FUNCTION void | SerialFillPoly (PViewType &P, const XViewType &X, const OffsViewType &XOffs, AxisType &activeAxis) |
Fill the polynomial augmentation matrix accordingly to the activated axis in activeAxis | |
| template<KokkosViewRank< 2 > QViewType, KokkosViewRank< 1 > XViewType, KokkosViewRank< 1 > XOffsType, KokkosViewRank< 1 > WViewType, KokkosArray AxisType, int_t dim = AxisType::size()> | |
| KOKKOS_FORCEINLINE_FUNCTION int_t | SerialFillQ (QViewType &Q, const XViewType &X, const XOffsType &XOffs, WViewType &W, AxisType &activeAxis) |
Fill the polynomial augmentation matrix Q and sets activeAxis accordingly to the deactivated axis in SerialDeactivateOneAxis | |
| template<KokkosViewRank< 2 > AViewType, KokkosViewRank< 1 > BViewType, KokkosViewRank< 1 > OutViewType> | |
| KOKKOS_FORCEINLINE_FUNCTION void | SerialMulMatVec (const AViewType &A, const BViewType &B, OutViewType &out) |
| Perform: out = Ab. | |
| template<KokkosViewRank< 1 > UViewType, KokkosViewRank< 1 > VViewType> | |
| KOKKOS_FORCEINLINE_FUNCTION void | SerialVecVecAdd (UViewType &U, const VViewType &V) |
| Perform an inplace addition of 2 vectors such as U = U + V. | |
| template<KokkosViewRank< 1 > UViewType, KokkosViewRank< 1 > VViewType> | |
| KOKKOS_FORCEINLINE_FUNCTION void | SerialVecVecSub (UViewType &U, const VViewType &V) |
| Perform an inplace difference of 2 vectors such as U = U - V. | |
| template<KokkosViewRank< 2 > AViewType, KokkosViewRank< 2 > BViewType, KokkosViewRank< 1 > TViewType, KokkosViewRank< 2 > XViewType, KokkosViewRank< 1 > WViewType> | |
| KOKKOS_FORCEINLINE_FUNCTION auto | SerialSolveQR (AViewType &A, const BViewType &B, TViewType &T, XViewType &X, WViewType &W) |
| Solves AX=B for X using a QR factorization on A. | |
| template<KokkosViewRank< 2 > AViewType, KokkosViewRank< 1 > BViewType> | |
| KOKKOS_FORCEINLINE_FUNCTION void | SerialSolveLU (AViewType &A, BViewType &B) |
| Solves AX=B for X using a LU factorization on A. | |
| template<KokkosViewRank< 2 > AViewType, KokkosViewRank< 1 > SViewType, KokkosViewRank< 1 > WViewType> | |
| KOKKOS_FORCEINLINE_FUNCTION void | SerialSVD (AViewType &A, SViewType &S, WViewType &W) |
| Perform a partial SVD decomposition, to fetch only the singular values of A. | |
| template<typename TeamHandleType , KokkosViewRank< 2 > AViewType, KokkosViewRank< 1 > XType, KokkosViewRank< 1 > XOffsType, RBFFunction RbfFuncType> | |
| KOKKOS_FORCEINLINE_FUNCTION void | TeamFillA (const TeamHandleType &teamHandle, const AViewType &A, const XType &X, const XOffsType &XOffs, const RbfFuncType &func) |
| Fills the RBF matrix A in parallel. | |
| template<typename TeamHandleType , KokkosViewRank< 2 > AViewType, KokkosViewRank< 1 > XType, KokkosViewRank< 1 > XOffsType, KokkosViewRank< 1 > YType, KokkosViewRank< 1 > YOffsType, RBFFunction RbfFuncType> | |
| KOKKOS_FORCEINLINE_FUNCTION void | TeamFillE (const TeamHandleType &teamHandle, AViewType &A, const XType &X, const XOffsType &XOffs, const YType &Y, const YOffsType &YOffs, const RbfFuncType &func) |
| Fills the RBF evaluation matrix E in parallel. | |
| template<typename TeamHandleType , KokkosViewRank< 1 > BViewType, KokkosViewRank< 1 > XType, KokkosViewRank< 1 > XOffsType> | |
| KOKKOS_FORCEINLINE_FUNCTION void | TeamFillB (const TeamHandleType &teamHandle, BViewType &B, const XType &X, const XOffsType &XOffs) |
| Fills the vector of known source values B in parallel. | |
| template<int_t Dim> | |
| KOKKOS_INLINE_FUNCTION fp_t | SquaredDifference (const ::ArborX::Point< Dim, coordinates_t > &lhs, const ::ArborX::Point< Dim, coordinates_t > &rhs) noexcept |
| Returns the squared distance between two points, and check for NaN values. | |
| template<int_t Dim> | |
| KOKKOS_INLINE_FUNCTION fp_t | Distance (const ::ArborX::Point< Dim, coordinates_t > &lhs, const ::ArborX::Point< Dim, coordinates_t > &rhs) |
Returns the euclidian norm between two points by performing a square root operation on the SquaredDifference result. | |
| template<int_t Dim> | |
| KOKKOS_INLINE_FUNCTION fp_t | SquaredDifferenceNoCheck (const ::ArborX::Point< Dim, coordinates_t > &lhs, const ::ArborX::Point< Dim, coordinates_t > &rhs) |
| Returns the squared distance between two points, and don't check for NaN values. | |
| template<int_t Dim> | |
| KOKKOS_INLINE_FUNCTION fp_t | DistanceNoCheck (const ::ArborX::Point< Dim, coordinates_t > &lhs, const ::ArborX::Point< Dim, coordinates_t > &rhs) |
Returns the euclidian norm between two points by performing a square root operation on the SquaredDifferenceNoCheck result. | |
| template<typename ExecSpace > | |
| KOKKOS_FORCEINLINE_FUNCTION constexpr bool | IsHostAccessible (void) |
| static void | PrintCudaMemoryUsage () |
| If Cuda is activated, prints the used Nvidia device memory, else do nothing. | |
| template<typename ViewType > | |
| void | PrintSizeOfView (ViewType &v) |
Prints the memory usage of a Kokkos::View | |
| template<typename ViewType > | |
| void | PrintView (ViewType &v, std::string sep=" ") |
| template<typename DataView > | |
| void | ExportMatView (const DataView &data, const index_t rows, const index_t cols, std::fstream &file) |
| template<typename ViewType , typename Comparator > | |
| KOKKOS_INLINE_FUNCTION auto | RbfPumMinMax (const ViewType &v, const Comparator &op) |
A reimplementation of Kokkos::MinMax which works on any backend. | |
A pow function computed at compile time.
| X | The value X of $X^N$ |
| N | The value N of $X^N$ |
Definition at line 20 of file clustering.hpp.
| KOKKOS_INLINE_FUNCTION fp_t PACMAN::RbfPum::Distance | ( | const ::ArborX::Point< Dim, coordinates_t > & | lhs, |
| const ::ArborX::Point< Dim, coordinates_t > & | rhs | ||
| ) |
Returns the euclidian norm between two points by performing a square root operation on the SquaredDifference result.
| Dim | The space dimension of both points |
| lhs | Source ArborX::Point |
| rhs | Target ArborX::Point |
SquaredDifference, if SquaredDifference returns -1.0, this function returns -1.0 as well Definition at line 148 of file operators.hpp.
References PACMAN::fp_consts::one(), SquaredDifference(), and PACMAN::fp_consts::zero().
| KOKKOS_INLINE_FUNCTION fp_t PACMAN::RbfPum::DistanceNoCheck | ( | const ::ArborX::Point< Dim, coordinates_t > & | lhs, |
| const ::ArborX::Point< Dim, coordinates_t > & | rhs | ||
| ) |
Returns the euclidian norm between two points by performing a square root operation on the SquaredDifferenceNoCheck result.
| Dim | The space dimension of both points |
| lhs | Source ArborX::Point |
| rhs | Target ArborX::Point |
SquaredDifferenceNoCheck Definition at line 182 of file operators.hpp.
References SquaredDifferenceNoCheck().
Referenced by TeamFillA(), and TeamFillE().
|
inlinestatic |
Definition at line 29 of file rbf_pum/interpolator.hpp.
| KOKKOS_FORCEINLINE_FUNCTION auto PACMAN::RbfPum::GetPolyMatrix | ( | const index_t & | k, |
| const PsViewType & | Ps, | ||
| const OffsViewType & | offs, | ||
| const int_t & | n, | ||
| const AxisType & | activeAxis | ||
| ) |
Returns a matrix of rank 2, shaped as (n, m), using the given data view, team rank, and offsets.
This function basically reinterprets a 1D vector into a 2D matrix accordingly to the given dimension and active axis.
| PsViewType | Matrices data view type. |
| OffsViewType | Access offsets type for the given data view. |
| AxisType | Active axis Kokkos::Array type |
| k | The index of the current team in the league |
| Ps | The matrices data view |
| offs | The access offsets of the matrices data view |
| n | The number of lines in the reshaped matrix which is returned |
| activeAxis | The number of active axis is the number of columns in the reshaped matrix which is returned |
Kokkos::View (unmanaged) which represents the polynomial matrix. Definition at line 59 of file getters.hpp.
| KOKKOS_FORCEINLINE_FUNCTION auto PACMAN::RbfPum::GetRbfMatrix | ( | const index_t & | k, |
| const AsViewType & | As, | ||
| const OffsViewType & | offs, | ||
| const int_t & | n, | ||
| const int_t & | m | ||
| ) |
Returns a matrix of rank 2, shaped as (n, m), using the given data view, team rank, and offsets.
This function basically reinterprets a 1D vector into a 2D matrix accordingly to the given dimensions.
| AsViewType | Matrices data view type. |
| OffsViewType | Access offsets type for the given data view. |
| k | The index of the current team in the league |
| As | The matrices data view |
| offs | The access offsets of the matrices data view |
| n | The number of lines in the reshaped matrix which is returned |
| m | The number of columns in the reshaped matrix which is returned |
Kokkos::View (unmanaged) which represents the RBF matrix. Definition at line 31 of file getters.hpp.
| KOKKOS_FORCEINLINE_FUNCTION auto PACMAN::RbfPum::GetRbfVector | ( | const index_t & | k, |
| const BsViewType & | Bs, | ||
| const OffsViewType & | offs, | ||
| const int_t & | n | ||
| ) |
Returns a vector view of rank 1, of length n, using the given data view, team rank, and offsets.
This function wraps a slice of Bs into an unmanaged view.
| BsViewType | Vectors data view type. |
| OffsViewType | Access offsets type for the given data view. |
| k | The index of the current team in the league |
| Bs | The vectors data view |
| offs | The access offsets of the vectors data view |
| n | The length of the returned vector |
Kokkos::View (unmanaged) which represents the source values vector. Definition at line 92 of file getters.hpp.
|
constexpr |
Definition at line 77 of file utils.hpp.
References PACMAN::fp_consts::set_precision().
| KOKKOS_INLINE_FUNCTION auto PACMAN::RbfPum::RbfPumMinMax | ( | const ViewType & | v, |
| const Comparator & | op | ||
| ) |
A reimplementation of Kokkos::MinMax which works on any backend.
| ViewType | Any Kokkos::View type specialization |
| Comparator | Type of the comparison functor |
| v | The view we want the min max of |
| op | The comparison functor, must define operator(a, b) to compare values |
Definition at line 110 of file utils.hpp.
Referenced by SerialDeactivateOneAxis().
| KOKKOS_INLINE_FUNCTION int_t PACMAN::RbfPum::SerialDeactivateOneAxis | ( | const SourceType & | src, |
| const OffsType & | offs, | ||
| AxisType & | activeAxis | ||
| ) |
Deactivate one axis, the one with the smallest range of values and returns the index of this deactivated axis.
| SourceType | Source points view type |
| OffsType | Access offsets view |
| AxisType | A Kokkos::Array<Dim> |
| src | Source points view |
| offs | Access offsets for the source points views, to access the points of this local cluster |
| activeAxis | A Kokkos::Array which holds the axis status |
Definition at line 30 of file serial_ops.hpp.
References PACMAN::fp_consts::max(), and RbfPumMinMax().
Referenced by SerialFillQ().
| KOKKOS_FUNCTION void PACMAN::RbfPum::SerialFillPoly | ( | PViewType & | P, |
| const XViewType & | X, | ||
| const OffsViewType & | XOffs, | ||
| AxisType & | activeAxis | ||
| ) |
Fill the polynomial augmentation matrix accordingly to the activated axis in activeAxis
| PViewType | The polynomial matrix type |
| XViewType | Source point view type |
| OffsViewType | Access offsets for the source view type |
| AxisType | A Kokkos::Array<Dim> |
| P | Polynomial augmentation matrix (Q or V) |
| X | Source points view |
| XOffs | Access offsets for the source points views, to access the points of this local cluster |
| activeAxis | A Kokkos::Array which holds the axis status |
Definition at line 73 of file serial_ops.hpp.
References PACMAN::fp_consts::one().
Referenced by SerialFillQ().
| KOKKOS_FORCEINLINE_FUNCTION int_t PACMAN::RbfPum::SerialFillQ | ( | QViewType & | Q, |
| const XViewType & | X, | ||
| const XOffsType & | XOffs, | ||
| WViewType & | W, | ||
| AxisType & | activeAxis | ||
| ) |
Fill the polynomial augmentation matrix Q and sets activeAxis accordingly to the deactivated axis in SerialDeactivateOneAxis
| QViewType | The polynomial matrix Q type |
| XViewType | Source point view type |
| OffsViewType | Access offsets for the source view type |
| WViewType | Additional workspace view type |
| AxisType | A Kokkos::Array<Dim> |
| Q | Polynomial augmentation matrix Q |
| X | Source points view |
| XOffs | Access offsets for the source points views, to access the points of this local cluster |
| W | Additional workspace view |
| activeAxis | A Kokkos::Array which holds the axis status |
Definition at line 111 of file serial_ops.hpp.
References PACMAN::fp_consts::epsilon(), SerialDeactivateOneAxis(), SerialFillPoly(), SerialSVD(), and PACMAN::fp_consts::zero().
| KOKKOS_FORCEINLINE_FUNCTION void PACMAN::RbfPum::SerialMulMatVec | ( | const AViewType & | A, |
| const BViewType & | B, | ||
| OutViewType & | out | ||
| ) |
Perform: out = Ab.
This function is a wrapper on KB::SerialGemv
| AViewType | The matrix A type |
| BViewType | The vector B type |
| OutViewType | The output view type |
| A | The matrix A |
| B | The vector B |
| out | The output vector of out = Ab |
Definition at line 152 of file serial_ops.hpp.
References PACMAN::fp_consts::one(), and PACMAN::fp_consts::zero().
| KOKKOS_FORCEINLINE_FUNCTION void PACMAN::RbfPum::SerialSolveLU | ( | AViewType & | A, |
| BViewType & | B | ||
| ) |
Solves AX=B for X using a LU factorization on A.
| AViewType | Type of the matrix A (a concept enforces a Kokkos::View of rank 2) |
| BViewType | Type of the vector B (a concept enforces a Kokkos::View of rank 1). |
| [in] | A | A rank 2 view of scalars, with the extents (N, M). |
| [in,out] | B | A rank 1 view of scalars, with the extents (N, 1). |
Definition at line 77 of file serial_solve.hpp.
| KOKKOS_FORCEINLINE_FUNCTION auto PACMAN::RbfPum::SerialSolveQR | ( | AViewType & | A, |
| const BViewType & | B, | ||
| TViewType & | T, | ||
| XViewType & | X, | ||
| WViewType & | W | ||
| ) |
Solves AX=B for X using a QR factorization on A.
| AViewType | Type of the matrix A (a concept enforces a Kokkos::View of rank 2) |
| BViewType | Type of the vector B (a concept enforces a Kokkos::View of rank 2). The rank 2 is necessary for KB::ApplyQ. |
| TViewType | Type of the vector T (a concept enforces a Kokkos::View of rank 1). |
| XViewType | Type of the vector X (a concept enforces a Kokkos::View of rank 2). The rank 2 is necessary for KB::ApplyQ. |
| WViewType | Type of the vector W (a concept enforces a Kokkos::View of rank 1). |
| [in] | A | A rank 2 view of scalars, with the extents (N, M). |
| [in] | B | A rank 2 view of scalars, with the extents (N, 1). |
| T | A rank 1 (non-initialized) view of scalars, of length M. | |
| [out] | X | A rank 2 (non-initialized) view of scalars, of length (N, 1), it is the output parameter (only the M first values are relevant as an output). |
| W | A rank 1 (non-initialized) view of scalars, of length max(N, M), it must be created with the LayoutRight view argument. |
B is the only parameter which is guaranteed to not be modified. Caps variables are matrices, others are vectors. Definition at line 49 of file serial_solve.hpp.
References PACMAN::fp_consts::one().
| KOKKOS_FORCEINLINE_FUNCTION void PACMAN::RbfPum::SerialSVD | ( | AViewType & | A, |
| SViewType & | S, | ||
| WViewType & | W | ||
| ) |
Perform a partial SVD decomposition, to fetch only the singular values of A.
| AViewType | Type of the matrix A (a concept enforces a Kokkos::View of rank 2) |
| SViewType | Type of the vector S (a concept enforces a Kokkos::View of rank 1). |
| WViewType | Type of the vector W (a concept enforces a Kokkos::View of rank 1). |
| [in] | A | A rank 2 view of scalars, with the extents (N, M). |
| [out] | S | A rank 1 view of scalars, which contains the singular values of A, in decreasing order, of length M. |
| W | A rank 1 (non-initialized) view of scalars, of length max(N, M). |
Definition at line 102 of file serial_solve.hpp.
References PACMAN::fp_consts::epsilon().
Referenced by SerialFillQ().
| KOKKOS_FORCEINLINE_FUNCTION void PACMAN::RbfPum::SerialVecVecAdd | ( | UViewType & | U, |
| const VViewType & | V | ||
| ) |
Perform an inplace addition of 2 vectors such as U = U + V.
| UViewType | The vector U view type |
| VViewType | The vector V view type |
| [in,out] | U | The vector U view |
| [in] | V | The vector V view |
Definition at line 165 of file serial_ops.hpp.
| KOKKOS_FORCEINLINE_FUNCTION void PACMAN::RbfPum::SerialVecVecSub | ( | UViewType & | U, |
| const VViewType & | V | ||
| ) |
Perform an inplace difference of 2 vectors such as U = U - V.
| UViewType | The vector U view type |
| VViewType | The vector V view type |
| [in,out] | U | The vector U view |
| [in] | V | The vector V view |
Definition at line 179 of file serial_ops.hpp.
|
noexcept |
Returns the squared distance between two points, and check for NaN values.
| Dim | The space dimension of both points |
| lhs | Source ArborX::Point |
| rhs | Target ArborX::Point |
lhs and rhs are valid (no NaN value) else returns -1.0 Definition at line 127 of file operators.hpp.
References PACMAN::fp_consts::one(), and PACMAN::fp_consts::zero().
Referenced by Distance(), PACMAN::RbfPum::TagEmptyCentersCallback< ViewType >::operator()(), and PACMAN::RbfPum::DistanceToKNearestCallback::operator()().
| KOKKOS_INLINE_FUNCTION fp_t PACMAN::RbfPum::SquaredDifferenceNoCheck | ( | const ::ArborX::Point< Dim, coordinates_t > & | lhs, |
| const ::ArborX::Point< Dim, coordinates_t > & | rhs | ||
| ) |
Returns the squared distance between two points, and don't check for NaN values.
| Dim | The space dimension of both points |
| lhs | Source ArborX::Point |
| rhs | Target ArborX::Point |
Definition at line 165 of file operators.hpp.
References PACMAN::fp_consts::zero().
Referenced by DistanceNoCheck().
| KOKKOS_FORCEINLINE_FUNCTION void PACMAN::RbfPum::TeamFillA | ( | const TeamHandleType & | teamHandle, |
| const AViewType & | A, | ||
| const XType & | X, | ||
| const XOffsType & | XOffs, | ||
| const RbfFuncType & | func | ||
| ) |
Fills the RBF matrix A in parallel.
This function must not be called in a nested parallel loop
| TeamHandleType | Type of the team of threads |
| AViewType | Type of the matrix A (a concept enforces Kokkos::View of rank 2) |
| XType | Type of the source points view (a concept enforces Kokkos::View of rank 1) |
| XOffsType | Type of the access offsets associated to the source points (a concept enforces Kokkos::View of rank 1) |
| RbfFuncType | A RBF function (for instance: Wendland functions), a concept enforces that function.Eval exists |
| teamHandle | The Kokkos object which represents the team of threads |
| A | The RBF matrix we are filling |
| X | The source points contained in the local cluster |
| XOffs | The access offsets of the local cluster points in the source points view |
| func | The RBF function we use to compute values to assign to A |
Definition at line 39 of file team_ops.hpp.
References DistanceNoCheck().
| KOKKOS_FORCEINLINE_FUNCTION void PACMAN::RbfPum::TeamFillB | ( | const TeamHandleType & | teamHandle, |
| BViewType & | B, | ||
| const XType & | X, | ||
| const XOffsType & | XOffs | ||
| ) |
Fills the vector of known source values B in parallel.
This function must not be called in a nested parallel loop
| TeamHandleType | Type of the team of threads |
| BViewType | Type of the vector B (a concept enforces Kokkos::View of rank 1) |
| XType | Type of the source points view (a concept enforces Kokkos::View of rank 1) |
| XOffsType | Type of the access offsets associated to the source points (a concept enforces Kokkos::View of rank 1) |
| teamHandle | The Kokkos object which represents the team of threads |
| B | The known source values vector B we are filling |
| X | The source points contained in the local cluster |
| XOffs | The access offsets of the local cluster points in the source points view |
Definition at line 115 of file team_ops.hpp.
| KOKKOS_FORCEINLINE_FUNCTION void PACMAN::RbfPum::TeamFillE | ( | const TeamHandleType & | teamHandle, |
| AViewType & | A, | ||
| const XType & | X, | ||
| const XOffsType & | XOffs, | ||
| const YType & | Y, | ||
| const YOffsType & | YOffs, | ||
| const RbfFuncType & | func | ||
| ) |
Fills the RBF evaluation matrix E in parallel.
This function must not be called in a nested parallel loop
| TeamHandleType | Type of the team of threads |
| AViewType | Type of the matrix E (a concept enforces Kokkos::View of rank 2) |
| XType | Type of the source points view (a concept enforces Kokkos::View of rank 1) |
| XOffsType | Type of the access offsets associated to the source points (a concept enforces Kokkos::View of rank 1) |
| YType | Type of the target points view (a concept enforces Kokkos::View of rank 1) |
| YOffsType | Type of the access offsets associated to the target points (a concept enforces Kokkos::View of rank 1) |
| RbfFuncType | A RBF function (for instance: Wendland functions), a concept enforces that function.Eval exists |
| teamHandle | The Kokkos object which represents the team of threads |
| A | The RBF evaluation matrix we are filling |
| X | The source points contained in the local cluster |
| XOffs | The access offsets of the local cluster points in the source points view |
| Y | The target points contained in the local cluster |
| YOffs | The access offsets of the local cluster points in the target points view |
| func | The RBF function we use to compute values to assign to A |
Definition at line 83 of file team_ops.hpp.
References DistanceNoCheck().
|
constexpr |
Return the indices offsets of the spatial neighbors given the shape of the space.
| Dim | The dimension of the space. |
| shape | The number of regions in each direction (each axis). |
Definition at line 34 of file clustering.hpp.
|
constexpr |
: 2D specialization of ZCurveNeighborOffsets for faster computations
Definition at line 72 of file clustering.hpp.
|
constexpr |
: 3D specialization of ZCurveNeighborOffsets for faster computations
Definition at line 93 of file clustering.hpp.