diff --git a/chap-dynamic/dynamic-2.tex b/chap-dynamic/dynamic-2.tex index 5ef46efc..06f30e8b 100644 --- a/chap-dynamic/dynamic-2.tex +++ b/chap-dynamic/dynamic-2.tex @@ -72 +72 @@ In multi-component \mpi/ applications, for example, a component such as a librar can make use of the \spm{} to [-initialize-]{+instantiate+} \MPI/ {+resources+} without impacting the rest of the application. @@ -605 +605 @@ Without a matching receive, the program is erroneous exit(); @@ -805 +805 @@ This section describes an alternative approach to \MPI/ initialization - the \sp With this approach, an \MPI/ application, or components of the application, can [-initialize-]{+instantiate+} \MPI/ resources @@ -809 +809 @@ In this model, \MPI/ resources can be allocated and freed multiple times in an \ When using the \spm{}, an \MPI/ process [-allocates-]{+instantiates+} an \emph{MPI Session handle}, which in turn can be used @@ -816 +816 @@ in principal, allow for resource optimizations within an \MPI/ implementation, t initialization of \MPI/.[-\const{MPI\_INFO\_ENV} may also be queried following successful allocation of an \emph{MPI Session handle}.-] @@ -855 +855 @@ Note however, the \spm{} does not otherwise change the semantics or behavior of \funcarg{\IN}{errhandler}{specifies an error handler to invoke in the event that an error is encountered during Session [-initialization}-]{+instantiation}+} @@ -873,2 +873,2 @@ The \mpiarg{errhandler} argument specifies an error handler to invoke in the eve Session [-initialization-]{+instantiation+} call encounters an error. Session [-initialization-]{+instantiation+} is intended to be a lightweight operation. An MPI process may [-initialize-]{+instantiate+} multiple Sessions. \mpifunc{MPI\_SESSION\_INIT} is always thread safe; multiple threads @@ -890 +890 @@ This routine cleans up all \MPI/ state associated with the supplied \mpiarg{sess Every [-initialized-]{+instantiated+} Session must be finalized using \mpifunc{MPI\_SESSION\_FINALIZE}. @@ -917,0 +918,6 @@ as explained in \sectionref{subsec:disconnect}. {+\begin{implementors}+} {+A high quality \MPI/ implementation should be able to release \MPI/ state associated with a session without synchronization with other \MPI/ processes, provided an application frees all MPI windows and files, and uses \mpifunc{MPI\_COMM\_DISCONNECT} to free all \MPI/ communicators associated with a session prior to invoking \mpifunc{MP\_SESSION\_FINALIZE} on the corresponding session handle.+} {+\end{implementors}+} @@ -953 +959 @@ The \emph{size} key is mandatory for all process sets. This function is used to query the runtime for the number of available process sets. The number of available [-processes-]{+process+} sets returned by this function may increase with subsequent calls to \mpifunc{MPI\_SESSION\_GET\_NUM\_PSETS}, but will not decrease. @@ -956 +962 @@ This function is used to query the runtime for the number of available process s It is anticipated that {+an+} \MPI/ implementation may be relying on an external runtime system to provide process sets. Such runtime systems may have the ability to dynamically create process sets during the course of application execution. Requiring the number of process sets returned by \mpifunc{MPI\_SESSION\_GET\_NUM\_PSETS} to be constant over the course of application execution would prevent an application from taking advantage of such capabilities. @@ -971 +977 @@ The number of available process sets for this session can be determined by calli The length returned in C [-does not include-]{+includes space for+} the end-of-string character. @@ -987,0 +994,2 @@ be one less than the amount of allocated space to allow for the null terminator. {+If two \MPI/ processes get the same process set name, then the intersection of the two process sets shall either be the empty set or identical to the union of the two process sets.+} @@ -1109 +1117,2 @@ int library_foo_init(void) rc = MPI_Comm_create_from_group(wgroup, "mpi.forum.mpi-v4_0.example-ex10_1", @@ -1180 +1189 @@ int main(int argc, char *argv[]) pset_name = (char *)malloc(sizeof(char) * [-(psetlen + 1));-]{+psetlen);+} @@ -1396 +1405 @@ In the case of the \spm{}, if an \MPI/ process has [-initialized-]{+instantiated+} multiple sessions, the union of the \MPI/ processes in these @@ -2252 +2261 @@ spawn a smaller number of processes instead of raising an error. In [-principal,-]{+principle,+} the \mpiarg{info}