描述了本地进程数据的大小和位置,以及计算所需分配的空间。
C interface:
ptrdiff_t kml_fft_mpi_local_size_3d_ext(ptrdiff_t n0, ptrdiff_t n1, ptrdiff_t n2, MPI_Comm comm, enum SCALFFT_DECOMPOSE_TYPE_E decomp_type, ptrdiff_t *low, ptrdiff_t *high);
ptrdiff_t kml_fftf_mpi_local_size_3d_ext(ptrdiff_t n0, ptrdiff_t n1, ptrdiff_t n2, MPI_Comm comm, enum SCALFFT_DECOMPOSE_TYPE_E decomp_type, ptrdiff_t *low, ptrdiff_t *high);
函数返回一个ptrdiff_t类型的值,表示要分配的buffer元素个数,成功则返回值大于等于0,失败返回-1。
参数名 |
数据类型 |
描述 |
输入/输出 |
---|---|---|---|
n0 |
ptrdiff_t * |
待处理数据第1个维度大小,约束:n0 ≥ 1 |
输入 |
n1 |
ptrdiff_t * |
待处理数据第2个维度大小,约束:n1 ≥ 1 |
输入 |
n2 |
ptrdiff_t * |
待处理数据第3个维度大小,约束:n2 ≥ 1 |
输入 |
comm |
MPI_Comm |
通信域 |
输入 |
decomp_type |
enum SCALFFT_DECOMPOSE_TYPE_E |
分解算法,SCALFFT_DECOMPOSE_TYPE_SLAB,SCALFFT_DECOMPOSE_TYPE_PENCIL,SCALFFT_DECOMPOSE_TYPE_BRICK |
输入 |
low |
ptrdiff_t * |
本地数据起点 |
输出 |
high |
ptrdiff_t * |
本地数据终点 |
输出 |
C: "kfft-mpi.h"
C interface:见kml_fft(f)_mpi_plan_dft_3d_ext。