Multi-Transform

Note

Only fully independent transforms can be executed in parallel.

namespace spfft

Functions

void multi_transform_forward(int numTransforms, Transform *transforms, SpfftProcessingUnitType *inputLocations, double **outputPointers, SpfftScalingType *scalingTypes)

Execute multiple independent forward transforms at once by internal pipelining.

Parameters
  • [in] numTransforms: Number of transforms to execute.

  • [in] transforms: Transforms to execute.

  • [in] inputLocations: Input locations for each transform.

  • [out] outputPointers: Output pointers for each transform.

  • [in] scalingTypes: Scaling types for each transform.

Exceptions
  • 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, double **inputPointers, SpfftProcessingUnitType *outputLocations)

Execute multiple independent backward transforms at once by internal pipelining.

Parameters
  • [in] numTransforms: Number of transforms to execute.

  • [in] transforms: Transforms to execute.

  • [in] inputPointers: Input pointers for each transform.

  • [in] outputLocations: Output locations for each transform.

Exceptions
  • GenericError: SpFFT error. Can be a derived type.

  • std::exception: Error from standard library calls. Can be a derived type.

namespace spfft

Functions

void multi_transform_forward(int numTransforms, TransformFloat *transforms, SpfftProcessingUnitType *inputLocations, float **outputPointers, SpfftScalingType *scalingTypes)

Execute multiple independent forward transforms at once by internal pipelining.

Parameters
  • [in] numTransforms: Number of transforms to execute.

  • [in] transforms: Transforms to execute.

  • [in] inputLocations: Input locations for each transform.

  • [out] outputPointers: Output pointers for each transform.

  • [in] scalingTypes: Scaling types for each transform.

Exceptions
  • 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, float **inputPointers, SpfftProcessingUnitType *outputLocations)

Execute multiple independent backward transforms at once by internal pipelining.

Parameters
  • [in] numTransforms: Number of transforms to execute.

  • [in] transforms: Transforms to execute.

  • [in] inputPointers: Input pointers for each transform.

  • [in] outputLocations: Output locations for each transform.

Exceptions
  • GenericError: SpFFT error. Can be a derived type.

  • std::exception: Error from standard library calls. Can be a derived type.