mpi之MPI_Sendrecv的用法

 mpi变成常用命令

编译c程序 gcc  例: gcc -Wall -o my_sa my_sa.c  若要编译c++,需要连接, 加参数 gcc -Wall -o my_sa my_sa.cpp -lstdc++ 

编译c++ g++    例: g++ -Wall -o my_sa my_sa.cpp 

编译mpi c程序 用mpicc 例: mpicc -Wall my_sa.cpp -o my_sa 

编译mpi c+程序 用mpicxx 例: mpicxx -Wall my_sa.cpp -o my_sa 

执行mpi程序:  mpiexec -n 4 ./my_sa 

MPI_SENDRECV(sendbuf, sendcount, sendtype, dest, sendtag, recvbuf, recvcount, recvtype, source, recvtag, comm, status)

MPI_SENDRECV(sendbuf, sendcount, sendtype, dest, sendtag,
recvbuf, recvcount, recvtype, source, recvtag, comm, status)
参数:
 IN sendbuf 发送缓冲区起始地址
IN sendcount 发送数据的个数
IN sendtype 发送数据的数据类型
IN dest 目标进程的标识号
IN sendtag 发送消息标签
OUT recvbuf 接收缓冲区初始地址
IN recvcount 最大接收数据个数
IN recvtype 接收数据的数据类型
IN source 源进程标识
IN recvtag 接收消息标签
IN comm 通信器
OUT status 返回的状态

当前进程为myrank时,MPI_SENDRECV向dest发送数据, 从source进程接收数据

来自教材并行计算导论

原文地址:https://www.cnblogs.com/vactor/p/8654682.html