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
  • [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_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
  • [in] numTransforms: Number of transforms to execute.

  • [in] transforms: Transforms to execute.

  • [in] inputPointers: Input pointers 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, const double *const *inputPointers, const 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.

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
  • [in] numTransforms: Number of transforms to execute.

  • [in] transforms: Transforms to execute.

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

  • [in] outputPointers: Output pointers 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, const SpfftProcessingUnitType *inputLocations, float *const *outputPointers, const 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_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
  • [in] numTransforms: Number of transforms to execute.

  • [in] transforms: Transforms to execute.

  • [in] inputPointers: Input pointers 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, const float *const *inputPointers, const 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.

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
  • [in] numTransforms: Number of transforms to execute.

  • [in] transforms: Transforms to execute.

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

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

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

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