kml_fft(f)_mpi_local_size_many
描述了本地进程数据的大小和位置,以及计算需要分配的空间。
接口定义
C interface:
ptrdiff_t kml_fft_mpi_local_size_many(int rank, const ptrdiff_t *n, ptrdiff_t howmany, ptrdiff_t block0, MPI_Comm comm, ptrdiff_t *local_n0 ptrdiff_t *local_0_start);
ptrdiff_t kml_fftf_mpi_local_size_many(int rank, const ptrdiff_t *n, ptrdiff_t howmany, ptrdiff_t block0, MPI_Comm comm, ptrdiff_t *local_n0 ptrdiff_t *local_0_start);
ptrdiff_t kml_ffth_mpi_local_size_many(int rank, const ptrdiff_t *n, ptrdiff_t howmany, ptrdiff_t block0, MPI_Comm comm, ptrdiff_t *local_n0 ptrdiff_t *local_0_start);
返回值
函数返回一个ptrdiff_t类型的值,表示要分配的元素的数量。
参数
| 参数名 | 数据类型 | 描述 | 输入/输出 | 
|---|---|---|---|
| rank | 
 | 待处理数据维度数量。 | 输入 | 
| n | 
 | n是维度为rank的数组,包含数据序列每一维度的大小,约束:n[i] ≥ 1, for i in 0 to rank - 1。 | 输入 | 
| howmany | 
 | howmany表示要多少个变换。 | 输入 | 
| block0 | 
 | 指定block的大小。 | 输入 | 
| comm | 
 | MPI通信器的句柄。 | 输入 | 
| sign | 
 | 与创建plan时传入的参数匹配。 | 输入 | 
| flags | 
 | 与创建plan时传入的参数匹配。 | 输入 | 
| local_n0 | 
 | 本地进程数据大小。 | 输出 | 
| local_0_start | 
 | 本地进程数据相对全局数据起点偏移量。 | 输出 | 
依赖
C: "kfft-mpi.h"