📄 mpid_tbsend.tex
字号:
\startmanpage\mantitle{MPID{\tt \char`\_}tBsend}{tex}{10/7/2002}\manname{MPID{\tt \char`\_}tBsend}--- Attempt a send and return if it would block \subhead{Synopsis}\startvb\begin{verbatim}int MPID_tBsend( const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPID_Comm *comm, int context_offset )\end{verbatim}\endvb\subhead{Notes}This has the semantics of {\tt MPI{\tt \char`\_}Bsend}, except that it returns the internalerror code {\tt MPID{\tt \char`\_}WOULD{\tt \char`\_}BLOCK} if the message can't be sent immediately(t is for "try").\parThe reason that this interface is chosen over a query to check whethera message {\em can} be sent is that the query approach is notthread-safe. Since the decision on whether a message can be sentwithout blocking depends (among other things) on the state of flowcontrol managed by the device, this approach also gives the devicethe greatest freedom in implementing flow control. In particular,if another MPI process can change the flow control parameters, theneven in a single-threaded implementation, it would not be safe toreturn, for example, a message size that could be sent with {\tt MPI{\tt \char`\_}Bsend}.\parThis routine allows an MPI implementation to optimize {\tt MPI{\tt \char`\_}Bsend}for the case when the message can be delivered without blocking thecalling process. An ADI implementation is free to have this routinealways return {\tt MPID{\tt \char`\_}WOULD{\tt \char`\_}BLOCK}, but is encouraged not to.\parTo allow the MPI implementation to avoid trying this routine when itis not implemented by the ADI, the C preprocessor constant {\tt MPID{\tt \char`\_}HAS{\tt \char`\_}TBSEND}should be defined if this routine has a nontrivial implementation.\par\subhead{Module}Communication\endmanpage
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -