⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mpi22.htm

📁 该文件为mpich2的开发文档
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
   <TITLE> ICPSEP Content
</TITLE>
   <META NAME="GENERATOR" CONTENT="Mozilla/3.0Gold (X11; I; SunOS 5.4 sun4m) [Netscape]">
</HEAD>
<BODY BGCOLOR="#F0F8FF">

<TABLE WIDTH="100%" >
<TR>
<TD align=left><FONT SIZE=+2>2.2 过程说明 </FONT></TD>

<TD align=right><A HREF="mpi2.htm#mpi21.htm" tppabs="http://arch.cs.pku.edu.cn/parallelprogramming/mpispec/mpi2.htm#mpi21.htm"><IMG SRC="backward.gif" tppabs="http://arch.cs.pku.edu.cn/image/backward.gif" ALT="BACKWARD" HEIGHT=32 WIDTH=32></A><A HREF="mpi23.htm" tppabs="http://arch.cs.pku.edu.cn/parallelprogramming/mpispec/mpi23.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>

<P>MPI 通过某种语言指定 MPI 的函数。过程调用的参数有 IN (输入)、OUT (输出)
或 INOUT (输入/输出)。含义如下:   </P>

<UL>
<LI>调用时使用的但没有修改的参数记为IN, </LI>

<LI>调用时可以修改的参数记为OUT, </LI>

<LI>调用时使用的并可修改的参数记为INOUT。   </LI>
</UL>

<P>有一种特殊情况--如果一个参数是隐含对象(这些术语在<A HREF="mpi24.htm#mpi241.htm" tppabs="http://arch.cs.pku.edu.cn/parallelprogramming/mpispec/mpi24.htm#mpi241.htm">2.4.1</A>
中定义)的一个句柄,并且这个对象被过程调用修改,那么这个参数记为OUT。即使句柄本身没被修改,仍记为OUT--我们用OUT属性表示句柄所引用的部分被修改。</P>

<P>MPI 的定义在最大范围内避免 INOUT 参数的使用, 因为这些使用易于出错,特别对标量参数。
  </P>

<P>MPI 函数的一般情况是一个参数被一些进程用作 IN , 被另些进程用作 OUT。这样的参数语法上记为
INOUT , 虽然在语义上它不是同一个调用的输入和输出,但它仍记为 INOUT 。   </P>

<P>当进程仅需要一个参数值时,另种情况将出现。在进程中一个参数不重要时,可传送任意值作为参数。</P>

<P>如果一个参数没有被指定为 OUT 或 INOUT , 那么它不能和任何其他参数混合一起传送给一个
MPI 函数。下面是 C 语言中参数混合的一个例子。我们如下定义一个 C 过程, </P>

<PRE>void copyIntBuffer( int *pin, int *pout, int len ) 

{   int i;  
    for (i=0; i&lt;len; ++i)  *pout++ =  *pin++;   
}</PRE>

<PRE> 
</PRE>

<P>那么在下面代码段中, 对这个过程的调用混合了参数。</P>

<P>int a[10];</P>

<P>copyIntBuffer( a, a+3, 7);</P>

<P>虽然 C 语言中允许这样,但除非特别说明,MPI过程禁止这样使用。注意Fortran
中禁止参数混合。   </P>

<P>所有 MPI 函数首先是不依赖任何语言而被指定, 然后给出这个函数的标准 C版本,
最后给出这个函数的 Fortran 77 版本。 
<HR WIDTH="100%"></P>

<TABLE WIDTH="100%" >
<TR>
<TD align=left>Copyright: NPACT </TD>

<TD align=right><A HREF="mpi2.htm#mpi21.htm" tppabs="http://arch.cs.pku.edu.cn/parallelprogramming/mpispec/mpi2.htm#mpi21.htm"><IMG SRC="backward.gif" tppabs="http://arch.cs.pku.edu.cn/image/backward.gif" ALT="BACKWARD" HEIGHT=32 WIDTH=32></A><A HREF="mpi23.htm" tppabs="http://arch.cs.pku.edu.cn/parallelprogramming/mpispec/mpi23.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 + -