Multi-Transform
Note
Only fully independent transforms can be executed in parallel.
-
namespace spfft
Functions
-
void multi_transform_forward(int numTransforms, Transform *transforms, const SpfftProcessingUnitType *inputLocations, double *const *outputPointers, const SpfftScalingType *scalingTypes)
Execute multiple independent forward transforms at once by internal pipelining.
- Parameters:
numTransforms – [in] Number of transforms to execute.
transforms – [in] Transforms to execute.
inputLocations – [in] Input locations for each transform.
outputPointers – [out] Output pointers for each transform.
scalingTypes – [in] Scaling types for each transform.
- Throws:
GenericError – SpFFT error. Can be a derived type.
std::exception – Error from standard library calls. Can be a derived type.
-
void multi_transform_forward(int numTransforms, Transform *transforms, const double *const *inputPointers, double *const *outputPointers, const SpfftScalingType *scalingTypes)
Execute multiple independent forward transforms at once by internal pipelining.
- Parameters:
numTransforms – [in] Number of transforms to execute.
transforms – [in] Transforms to execute.
inputPointers – [in] Input pointers for each transform.
outputPointers – [out] Output pointers for each transform.
scalingTypes – [in] Scaling types for each transform.
- Throws:
GenericError – SpFFT error. Can be a derived type.
std::exception – Error from standard library calls. Can be a derived type.
-
void multi_transform_backward(int numTransforms, Transform *transforms, const double *const *inputPointers, const SpfftProcessingUnitType *outputLocations)
Execute multiple independent backward transforms at once by internal pipelining.
- Parameters:
numTransforms – [in] Number of transforms to execute.
transforms – [in] Transforms to execute.
inputPointers – [in] Input pointers for each transform.
outputLocations – [in] Output locations for each transform.
- Throws:
GenericError – SpFFT error. Can be a derived type.
std::exception – Error from standard library calls. Can be a derived type.
-
void multi_transform_backward(int numTransforms, Transform *transforms, const double *const *inputPointers, double *const *outputPointers)
Execute multiple independent backward transforms at once by internal pipelining.
- Parameters:
numTransforms – [in] Number of transforms to execute.
transforms – [in] Transforms to execute.
inputPointers – [in] Input pointers for each transform.
outputPointers – [in] Output pointers for each transform.
- Throws:
GenericError – SpFFT error. Can be a derived type.
std::exception – Error from standard library calls. Can be a derived type.
-
void multi_transform_forward(int numTransforms, Transform *transforms, const SpfftProcessingUnitType *inputLocations, double *const *outputPointers, const SpfftScalingType *scalingTypes)
-
namespace spfft
Functions
-
void multi_transform_forward(int numTransforms, TransformFloat *transforms, const SpfftProcessingUnitType *inputLocations, float *const *outputPointers, const SpfftScalingType *scalingTypes)
Execute multiple independent forward transforms at once by internal pipelining.
- Parameters:
numTransforms – [in] Number of transforms to execute.
transforms – [in] Transforms to execute.
inputLocations – [in] Input locations for each transform.
outputPointers – [out] Output pointers for each transform.
scalingTypes – [in] Scaling types for each transform.
- Throws:
GenericError – SpFFT error. Can be a derived type.
std::exception – Error from standard library calls. Can be a derived type.
-
void multi_transform_forward(int numTransforms, TransformFloat *transforms, const float *const *inputPointers, float *const *outputPointers, const SpfftScalingType *scalingTypes)
Execute multiple independent forward transforms at once by internal pipelining.
- Parameters:
numTransforms – [in] Number of transforms to execute.
transforms – [in] Transforms to execute.
inputPointers – [in] Input pointers for each transform.
outputPointers – [out] Output pointers for each transform.
scalingTypes – [in] Scaling types for each transform.
- Throws:
GenericError – SpFFT error. Can be a derived type.
std::exception – Error from standard library calls. Can be a derived type.
-
void multi_transform_backward(int numTransforms, TransformFloat *transforms, const float *const *inputPointers, const SpfftProcessingUnitType *outputLocations)
Execute multiple independent backward transforms at once by internal pipelining.
- Parameters:
numTransforms – [in] Number of transforms to execute.
transforms – [in] Transforms to execute.
inputPointers – [in] Input pointers for each transform.
outputLocations – [in] Output locations for each transform.
- Throws:
GenericError – SpFFT error. Can be a derived type.
std::exception – Error from standard library calls. Can be a derived type.
-
void multi_transform_backward(int numTransforms, TransformFloat *transforms, const float *const *inputPointers, float *const *outputPointers)
Execute multiple independent backward transforms at once by internal pipelining.
- Parameters:
numTransforms – [in] Number of transforms to execute.
transforms – [in] Transforms to execute.
inputPointers – [in] Input pointers for each transform.
outputPointers – [in] Output pointers for each transform.
- Throws:
GenericError – SpFFT error. Can be a derived type.
std::exception – Error from standard library calls. Can be a derived type.
-
void multi_transform_forward(int numTransforms, TransformFloat *transforms, const SpfftProcessingUnitType *inputLocations, float *const *outputPointers, const SpfftScalingType *scalingTypes)