MPI程序的6个最基本调用语句 |
您所在的位置:网站首页 › 结束词语解释 › MPI程序的6个最基本调用语句 |
MPI程序的框架结构
头文件相关变量声明程序开始程序体计算与通信程序结束
MPI的6个最基本调用(基于C语言)
MPI初始化
MPI_INIT(),用于初始化MPI程序,所有MPI程序的第一条可执行语句都是这条。 实例int MPI_Init(int *argc, char **argv) MPI 结束MPI_FINALIZE(),结束MPI程序的运行,是MPI程序的最后一条可执行语句,否则程序的运行结果是不可预知的。 实例int MPI_Finalize(void) 获取当前进程标识MPI_COMM_RANK(comm,rank),其中comm 为要输入的该进程所在的通信域句柄,rank 为输出的该进程在comm中的标识号。不同的进程可以利用标识号将自身和其他进程区别开来。 实例int MPI_Comm_rank(MPI_Comm comm, int *rank) 获取通信域包含的进程总数MPI_COMM_SIZE(comm,size),其中comm 为要输入的该进程所在的通信域句柄,size为要输出的通信域中包含的进程数量。 实例int MPI_Comm_size(MPI_Comm comm, int *size) 消息发送MPI_SEND(buf,count,datatype,dest,tag,comm),其中,buf为发送缓冲区的起始地址(可选类型),count为即将发送的数据的个数(非负整数),datatype为发送数据的数据类型(MPI特定的数据类型),dest为目的进程标识号(整型),tag为消息标志(整型),用以区分本次发送的消息和本进程向同一目的进程发送的其它消息,comm为通信域(句柄),该语句中所有参数均为输入参数。 实例int MPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) 消息接收MPI_RECV(buf,count,datatype,source,tag,comm,status),其中,buf为接收缓冲区的起始地址(可选数据类型),count为最多可接收的数据的个数(整型),datatype为接收数据的数据类型(MPI特定的数据类型),source为发送数据的进程的进程标识号(整型),tag为消息标识与相应的发送操作的标识相匹配相同(整型),comm为本进程和发送进程所在的通信域(句柄),status 返回状态信息 (状态类型),buf和status为输出,其余均为输入参数。 实例int MPI_Recv(void* buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status) |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |