kml_fft_mpi_plan_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.
Interface Definition
C interface:
kml_fft_plan kml_fft_mpi_plan_transpose (ptrdiff_t n0, ptrdiff_t n1, double *in, double *out, MPI_Comm comm, unsigned flags);
kml_fft_plan kml_fftf_mpi_plan_transpose(ptrdiff_t n0, ptrdiff_t n1, 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 |
in |
|
Inputs the data to be transformed. |
Input |
out |
|
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"