MPI_Comm_rank:这个函数用于获取当前进程在通信组(communicator)中的排名(rank)。通信组是一个逻辑上的进程组,用于进行通信和标识进程。MPI_Comm_rank函数将返回调用进程在通信组中的唯一标识。 MPI_Comm_size:这个函数用于获取通信组中进程的总数(size)。MPI_Comm_size函数将返回通信组中的进程数量,即通信组的大小。
int MPI_Comm_size(MPI_Comm comm, int *size); 参数说明 MPI_Comm comm:通信器。它指定了你要查询的进程集合。通常使用 MPI_COMM_WORLD 来表示所有进程的全局通信器。 int *size:指向一个整数的指针,该整数用于存储通信器中的进程总数。 返回值 函数返回 MPI_SUCCESS 表示成功。如果出错,则返回相应的错误代码。
#include<iostream>#include"mpi.h"#include"string.h"#defineMESSAGESIZE 50intmain(intargc,char*argv[]){MPI_Init(&argc,&argv);intid;intpronumber;MPI_Comm_rank(MPI_COMM_WORLD,&id);MPI_Comm_size(MPI_COMM_WORLD, &pronumber);if(id ==0) {charstring[MESSAGESIZE];for(inti =1;i < pronum...
size[out] 返回时,指示通信器组中的进程数。 返回值 返回成功时MPI_SUCCESS。 否则,返回值为错误代码。 在Fortran 中,返回值存储在IERROR参数中。 Fortran FORTRAN MPI_COMM_SIZE(COMM,SIZE,IERROR)INTEGERCOMM,SIZE, IERROR 注解 此函数使用户能够通过单个函数调用来检索组大小。 否则,必须使用MPI_Comm_group函...
4. MPI_COMM_SIZE 5. MPI_SEND 6. MPI_RECV 接收/发送函数参数说明 参考 声明 一、MPI 介绍 MPI 全名叫 Message Passing Interface,即信息传递接口,其作用是在不同进程间传递消息,从而可以并行地处理任务,即进行并行计算。需要注意的是,尽管我们偶尔会说使用 MPI 编写了某某可执行程序,但是MPI 其实只是一个标...
(2)获取通信域包含的进程总数函数:int MPI_Comm_size(MPI_Comm comm,int *size)(3)获取本进程的机器名函数:int MPI_Get_processor_name(char *name,int *resultlen)代码示例:/*文件名:helloworld.c*/ #include"mpi.h" #include<stdio.h> int main(int argc,char **argv) { int myid,numprocs; int ...
下面是6个最基本的MPI函数。 1. MPI_Init(…); 2. MPI_Comm_size(…); 3. MPI_Comm_rank(…); 4. MPI_Send(…); 5. MPI_Recv(…); 6. MPI_Finalize(); 我们在此通过一个简单的例子来说明这6个MPI函数的基本用处。
INOUT(输入输出):调用部分首先将该参数传递给MPI,MPI对这一参数引用、修改后,将结果返回给外部调用,该参数的初始值和返回结果都有意义 如果某一个参数在调用前后没有改变,比如某个隐含对象的句柄,但是该句柄指向的对象被修改了,这一参数仍然被说明为OUT或INOUT。MPI的定义在最大范围内避免INOUT...
#include <mpi.h>#include <stdio.h>int main(int argc, char** argv) { // 初始化MPI环境 MPI_Init(&argc, &argv); // 获取当前进程的ID和总进程数 int world_rank; MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); int world_size; MPI_Comm_size(MPI_COMM_WORLD, &world...