📄 mpi44.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>第四章: 集合通信</TITLE>
<META NAME="GENERATOR" CONTENT="Mozilla/3.0Gold (Win16; I) [Netscape]">
</HEAD>
<BODY BGCOLOR="#F0F8FF">
<TABLE WIDTH="100%" >
<TR>
<TD align=left><B><FONT SIZE=+1>4.4 广播(Broadcast) </FONT></B></TD>
<TD align=right><A HREF="mpi43.htm" tppabs="http://arch.cs.pku.edu.cn/parallelprogramming/mpispec/mpi43.htm"><IMG SRC="backward.gif" tppabs="http://arch.cs.pku.edu.cn/image/backward.gif" ALT="BACKWARD" HEIGHT=32 WIDTH=32></A><A HREF="mpi45.htm" tppabs="http://arch.cs.pku.edu.cn/parallelprogramming/mpispec/mpi45.htm"><IMG SRC="forward.gif" tppabs="http://arch.cs.pku.edu.cn/image/forward.gif" ALT="FORWARD" HEIGHT=32 WIDTH=32></A>
</TD>
</TR>
</TABLE>
<P>
<HR WIDTH="100%"></P>
<PRE>MPI_BCAST(buffer,count,datatype,root,comm)
IN/OUT buffer 通信消息缓冲区的起始地址(可变)
IN count 通信消息缓冲区中的数据个数(整型)
IN datatype 通信消息缓冲区中的数据类型(句柄)
IN root 发送广播的根的序列号(整型)
IN comm 通信子(句柄) </PRE>
<PRE>int MPI_Bcast(void* buffer,int count,MPI_Datatype datatype,int root, MPI_Comm comm) </PRE>
<PRE>MPI_BCAST(BUFFER,COUNT,DATATYPE,ROOT,COMM,IERROR)
<type> BUFFER(*)
INTEGER COUNT,DATATYPE,ROOT,COMM,IERROR</PRE>
<P>MPI_BCAST是从一个序列号为root的进程将一条消息广播发送到组内的所有进程,包括它本身在内.调用时组内所有成员都使用同一个comm和root,其结果是将根的通信消息缓冲区中的消息拷贝到其他所有进程中去.
</P>
<P>一般说来,datatype可以是派生的数据类型,其他进程中的count、datatype类型必须和根进程中的count、datatype保持一致,这隐含着在每一个进程和根进程之间,发送的数据个数必须和接收的数据个数相等.MPI_BCAST
和其他具有数据移动特征的集合操作例程都有此限制.但发送方和接收方之间的不同数据类型映射仍然是允许的.</P>
<P><A NAME="section1"></A><B><FONT SIZE=+1>4.4.1 MPI_BCAST的例子</FONT></B></P>
<P>例4.1:进程0向组内其他进程广播发送100个整型数. </P>
<PRE>MPI_Comm comm;
int array[100];
int root=0;
......
MPI_Bcast(array , 100 , MPI_INT , root , comm);</PRE>
<P>在所有的例子代码框架中,我们假定其中的一些变量(如上面的comm)已经被赋予了一个相应的值.</P>
<P>
<HR WIDTH="100%"></P>
<TABLE WIDTH="100%" >
<TR>
<TD align=left>Copyright: NPACT </TD>
<TD align=right><A HREF="mpi43.htm" tppabs="http://arch.cs.pku.edu.cn/parallelprogramming/mpispec/mpi43.htm"><IMG SRC="backward.gif" tppabs="http://arch.cs.pku.edu.cn/image/backward.gif" ALT="BACKWARD" HEIGHT=32 WIDTH=32></A><A HREF="mpi45.htm" tppabs="http://arch.cs.pku.edu.cn/parallelprogramming/mpispec/mpi45.htm"><IMG SRC="forward.gif" tppabs="http://arch.cs.pku.edu.cn/image/forward.gif" ALT="FORWARD" HEIGHT=32 WIDTH=32></A>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -