Rate This Document
Findability
Accuracy
Completeness
Readability

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

  • 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"