Doxygen
1.9.1
|
Implements the domain transform algorithms in case the user data is provided on the GPU. More...
#include <tsgAcceleratedDataStructures.hpp>
Public Member Functions | |
AccelerationDomainTransform (AccelerationContext const *, std::vector< double > const &transform_a, std::vector< double > const &transform_b) | |
Constructor, load the transform data to the GPU, the vectors are the same as used in the TasmanianSparseGrid class. | |
template<typename T > | |
void | getCanonicalPoints (bool use01, T const gpu_transformed_x[], int num_x, GpuVector< T > &gpu_canonical_x) |
Transform a set of points, used in the calls to evaluateHierarchicalFunctionsGPU() Takes the user provided gpu_transformed_x points of dimension matching the grid num_dimensions and total number num_x. The gpu_canonical_x is resized to match gpu_transformed_x and it loaded with the corresponding canonical points. The use01 flag indicates whether to use canonical domain (0, 1) (Fourier grids), or (-1, 1) (almost everything else). | |
Implements the domain transform algorithms in case the user data is provided on the GPU.
Takes the upper and lower bounds of a hypercube and transforms the user provided points to the canonical domain (-1, 1) or (0, 1). The transformation is done on the GPU to avoid extraneous data movement.
Note: Conformal mapping and the non-linear Gauss-Hermite and Gauss-Laguerre transforms are not supported.