kml_fft(f)_mpi_local_size_3d_ext

描述了本地进程数据的大小和位置,以及计算所需分配的空间。

接口定义

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