📄 mpid_attribute.tex
字号:
\startmanpage\mantitle{MPID{\tt \char`\_}Attribute}{tex}{10/7/2002}\manname{MPID{\tt \char`\_}Attribute}--- Structure of an MPID attribute \subhead{Synopsis}\startvb\begin{verbatim}typedef struct { void * value; /* Stored value */ MPID_Keyval *keyval; /* Keyval structure for this attribute */ /* other, device-specific information */} MPID_Attribute;\end{verbatim}\endvb\subhead{Notes}Attributes don't have {\tt ref{\tt \char`\_}count}s because they don't have referencecount semantics. That is, there are no shallow copies or duplicatesof an attibute. An attribute is copied when the communicator thatit is attached to is duplicated. Subsequent operations, such as{\tt MPI{\tt \char`\_}Comm{\tt \char`\_}attr{\tt \char`\_}free}, can change the attribute list for one of thecommunicators but not the other, making it impractical to keep thesame list. (We could defer making the copy until the list is changed,but even then, there would be no reference count on the individualattributes.)\parA pointer to the keyval, rather than the (integer) keyval itself isused since there is no need within the attribute structure to makeit any harder to find the keyval structure.\parThe attribute value is a {\tt void *}. If {\tt sizeof(MPI{\tt \char`\_}Fint)} $>$ {\tt sizeof(void*)},then this must be changed (no such system has been encountered yet).For the Fortran 77 routines in the case where {\tt sizeof(MPI{\tt \char`\_}Fint)} $<${\tt sizeof(void*)}, the high end of the {\tt void *} value is used. That is,we cast it to {\tt MPI{\tt \char`\_}Fint *} and use that value.\par\subhead{Module}Attribute-DS\par\endmanpage
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -