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進程接收數據
來自教材並行計算導論