并行计算MPI研究

 

并行计算MPI研究

 

  1. 安装mpich2开发环境,安装好后,会有smpd进程自动运行
  1.  Windows中创建一个用户,用户名和密码都要在mpich2中注册一遍,mpiexec.exe -register cz -user 1
  2. 支持mpi的程序,运行时可以单机运行多个进程,mpiexec.exe -user 1 -n 4 hello.exe
  1. 也可以多台机器运行多个进程, mpiexec.exe -hosts 2 pc1 2 pc2 4 hello.exe
  2. 单核运行多个进程反而更慢,N个核运行N个进程才有意义

 

广播(Broadcast)

MPI_BCAST(buffer,count,datatype,root,comm)
IN/OUT buffer 
通信消息缓冲区的起始地址(可变)
IN    count 
通信消息缓冲区中的数据个数(整型)
IN    datatype  通信消息缓冲区中的数据类型(句柄)
IN    root 
发送广播的根的序列号(整型)
IN    comm  
通信子(句柄)

int MPI_Bcast(void* buffer,int count,MPI_Datatype datatype,int root, MPI_Comm comm)

MPI_BCAST(BUFFER,COUNT,DATATYPE,ROOT,COMM,IERROR)
<type>BUFFER(*)
INTEGER COUNT,DATATYPE,ROOT,COMM,IERROR

MPI_BCAST是从一个序列号为root的进程将一条消息广播发送到组内的所有进程,包括它本身在内.调用时组内所有成员都使用同一个comm和root,其结果是将根的通信消息缓冲区中的消息拷贝到其他所有进程中去.

一般说来,datatype可以是派生的数据类型,其他进程中的count、datatype类型必须和根进程中的count、datatype保持一致,这隐含着在每一个进程和根进程之间,发送的数据个数必须和接收的数据个数相等.MPI_BCAST 和其他具有数据移动特征的集合操作例程都有此限制.但发送方和接收方之间的不同数据类型映射仍然是允许的.

 

源文档 <http://micro.ustc.edu.cn/Linux/MPI/MPICH/mpi44.htm>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值