并行计算 MPI 系列(二): MPI 阻塞通信
发布时间
阅读量:
阅读量
阻塞式通信机制中,发送端执行send操作时必须等待接收端完成recv操作,二者协同才能实现信息传递。MPI对若干基础阻塞通信函数进行了封装处理,从而提升了调用便捷性。
1.标准通信模式:
MPI_Send(buf, buf_size, MPI_CHAR, process1, tag, MPI_COMM_WORLD);
MPI_Recv(buf, buf_size, MPI_CHAR, process0, tag, MPI_COMM_WORLD);
上述两个函数分别承担数据发送与接收的功能,各自运行于两个独立的进程(process0与process1)之中。
(1). 发送与接收操作在双方进程同步启动(理想情况,但单核CPU环境下无法实现):
数据传输过程即时开始执行。
(2). 发送操作先于接收操作启动:
发送端进程将进入阻塞状态,直至接收端进程运行至MPI_Recv语句后,传输过程才会启动。在此期间,发送端将数据写入MPI环境的缓存区,而接收端则从该缓存区读取数据。
(3). 接收操作早于发送操作启动:
接收端进程首先运行,并处于等待状态,直到发送端执行发送语句后触发传输过程。
- 缓冲通信模式:
MPI_Buffer_attach(buf, bufs
全部评论 (0)
还没有任何评论哟~
