决定将代码中出现的MPI函数都总结一下:
调用MPI函数,通常要包含头文件
#include "mpi.h"
or
#include <mpi.h>
MPI 环境在初始化时会自动创建两个通信器,一个称为 MPI_COMM_WORLD,它包含程序中的所有进程,另一个称为 MPI_COMM_SELF,它是每个进程独自构成的、仅包含自己的通信器。MPI 系统提供了一个特殊进程号 MPI_PROC_NULL,它代表空进程 (不存在的进程),与 MPI_PROC_NULL 进行通信相当于一个空操 作,对程序的运行没有任何影响。
有好几个来自这个网页:
MPI 常用函数概述_狂草年糕的博客-CSDN博客_mpi函数
MPI_Comm_rank & MPI_Comm_size
MPI_Comm_size(MPI_COMM_WORLD, &proc.size);
MPI_Comm_rank(MPI_COMM_WORLD, &proc.rank);
rank返回当前进程,size返回rank的个数即processor总个数
MPI_Gather
MPI_Gather(&npeach, 1, MPI_INT, nptotal1, 1, MPI_INT, 0, MPI_COMM_WORLD);
将进程0从通信域中所有进程收集数据npeach存在数组nptotal1里面。