Rate This Document
Findability
Accuracy
Completeness
Readability

kml_fft_mpi_plan_many_transpose

Assume that there is an n0 x n1 array, which is distributed in blocks along the n0 dimension in row-major order. Convert it into an n1 x n0 array with block distribution in the n1 dimension. More generally, the transposition of a numerical tuple can be performed, with the block sizes of the input and output specified by the user.

Interface Definition

C interface:

kml_fft_plan kml_fft_mpi_plan_many_transpose (ptrdiff_t n0, ptrdiff_t n1, ptrdiff_t howmany, ptrdiff_t block0, ptrdiff_t block1, double *in, double *out, MPI_Comm comm, unsigned flags);

kml_fft_plan kml_fftf_mpi_plan_many_transpose (ptrdiff_t n0, ptrdiff_t n1, ptrdiff_t howmany, ptrdiff_t block0, ptrdiff_t block1, float *in, float *out, MPI_Comm comm, unsigned flags);

Return Value

The function returns a structure pointer of the kml_fft(f)_plan type. This object can be passed to the kml_fft(f/h)_execute function as a parameter to perform FFT on the current input and output.

If this function returns a non-null pointer, the plan has been successfully created. Otherwise, the plan fails to be created.

Parameters

Parameter

Data Type

Description

Input/Output

n0

ptrdiff_t

Inputs the size of the first dimension in the FFT array. The constraint is n0 ≥ 1.

Input

n1

ptrdiff_t

Inputs the size of the second dimension in the FFT array. The constraint is n1 ≥ 1.

Input

howmany

int

Indicates how many transforms are needed.

Input

block0

ptrdiff_t

Block size in the n0 dimension.

Input

block1

ptrdiff_t

Block size in the n1 dimension.

Input

in

  • Double precision: double*
  • Single precision: float*

Inputs the data to be transformed.

Input

out

  • Double precision: double*
  • Single precision: float*

Outputs the data generated using FFT.

Output

comm

MPI_Comm

MPI communicator handle.

Input

flags

unsigned int

For a transposed plan, these flags indicate that the output and/or the input are/is partially transposed.

Input

Dependencies

C: "kfft-mpi.h"