Doxygen 1.9.1
Toolkit for Adaptive Stochastic Modeling and Non-Intrusive ApproximatioN: Tasmanian v8.2 (development)
TasGrid::AccelerationDomainTransform Class Reference

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).
 

Detailed Description

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.


The documentation for this class was generated from the following file: