MPI学习-2.点对点通信

2018-07-09  本文已影响0人  辉哥V

MPI学习-2.点对点通信

一、6个基本的MPI函数

将一个进程的消息发送到另外一个进程

int MPI_Send(void buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)

void *buf:要发送的数据的首地址

int count:发送的数据量

MPI_Datatype datatype:发送的数据类型

int dest:发送到的进程编号

int tag:通信标志

MPI_Comm comm:通信域

接受从另外一个进程发送过来的消息

int MPI_Recv(void buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm,MPI_Status * status)

void * buf:接收数据的首地址

int count:接收多少数据。要与MPI_Send对应

MPI_Datatype datatype:接收的数据类型

int source:从那个进程发送过来

MPI_Comm comm:通信域

MPI_Status * status:返回状态,这个变量保存很多内容,有发送数据进程标识,发送数据使用的tag标识,本接收操作返回的错误代码

int MPI_Init(int *argc, char ***argv)

int MPI_Comm_size(MPI_Comm comm, int *size)

MPI_Comm comm:通信域

int *size:返回当前进程个数

int MPI_Comm_rank(MPI_Comm comm, int *rank)

MPI_Comm comm:通信域

int *rank:返回当前进程编号。如:0,1,2,。。。

二、一个简单的例子

进程0将其send变量的值发送给进程1中的变量recv。

上一篇下一篇

猜你喜欢

热点阅读