Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v4: Sync errata to v4 #395

Merged
merged 5 commits into from
Apr 12, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Chap_API_Data_Mgmt.tex
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ \section{Support Macros}

%%%%
\littleheader{Static initializer for the data buffer structure}
\declaremacro{PMIX_DATA_BUFFER_STATIC_INIT}
\declaremacroProvisional{PMIX_DATA_BUFFER_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_data_buffer_t} fields.

Expand Down Expand Up @@ -634,7 +634,7 @@ \subsection{\code{PMIx_Data_decompress}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\subsection{\code{PMIx_Data_embed}}
\declareapi{PMIx_Data_embed}
\declareapiProvisional{PMIx_Data_embed}

%%%%
\summary
Expand Down
8 changes: 4 additions & 4 deletions Chap_API_Fabric.tex
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ \subsection{Fabric endpoint support macros}

%%%%
\littleheader{Static initializer for the endpoint structure}
\declaremacro{PMIX_ENDPOINT_STATIC_INIT}
\declaremacroProvisional{PMIX_ENDPOINT_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_endpoint_t} fields.

Expand Down Expand Up @@ -243,7 +243,7 @@ \subsection{Fabric coordinate support macros}

%%%%
\littleheader{Static initializer for the coord structure}
\declaremacro{PMIX_COORD_STATIC_INIT}
\declaremacroProvisional{PMIX_COORD_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_coord_t} fields.

Expand Down Expand Up @@ -362,7 +362,7 @@ \subsection{Fabric geometry support macros}

%%%%
\littleheader{Static initializer for the geometry structure}
\declaremacro{PMIX_GEOMETRY_STATIC_INIT}
\declaremacroProvisional{PMIX_GEOMETRY_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_geometry_t} fields.

Expand Down Expand Up @@ -590,7 +590,7 @@ \subsection{Fabric registration structure}

%%%%
\subsubsection{Static initializer for the fabric structure}
\declaremacro{PMIX_FABRIC_STATIC_INIT}
\declaremacroProvisional{PMIX_FABRIC_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_fabric_t} fields.

Expand Down
20 changes: 10 additions & 10 deletions Chap_API_Proc_Mgmt.tex
Original file line number Diff line number Diff line change
Expand Up @@ -335,16 +335,16 @@ \subsection{Spawn-specific constants}
\declareconstitemNEW{PMIX_ERR_JOB_FAILED_TO_LAUNCH}
One or more processes in the job request failed to launch
%
\declareconstitemNEW{PMIX_ERR_JOB_EXE_NOT_FOUND}
\declareconstitemProvisional{PMIX_ERR_JOB_EXE_NOT_FOUND}
Specified executable not found
%
\declareconstitemNEW{PMIX_ERR_JOB_INSUFFICIENT_RESOURCES}
\declareconstitemProvisional{PMIX_ERR_JOB_INSUFFICIENT_RESOURCES}
Insufficient resources to spawn job
%
\declareconstitemNEW{PMIX_ERR_JOB_SYS_OP_FAILED}
\declareconstitemProvisional{PMIX_ERR_JOB_SYS_OP_FAILED}
System library operation failed
%
\declareconstitemNEW{PMIX_ERR_JOB_WDIR_NOT_FOUND}
\declareconstitemProvisional{PMIX_ERR_JOB_WDIR_NOT_FOUND}
Specified working directory not found
%
\end{constantdesc}
Expand Down Expand Up @@ -555,16 +555,16 @@ \subsection{Spawn attributes}
Do not generate an event when this job normally terminates.
}
%
\declareAttributeNEW{PMIX_ENVARS_HARVESTED}{"pmix.evar.hvstd"}{bool}{
\declareAttributeProvisional{PMIX_ENVARS_HARVESTED}{"pmix.evar.hvstd"}{bool}{
Environmental parameters have been harvested by the spawn requestor - the server
does not need to harvest them.
}
%
\declareAttributeNEW{PMIX_JOB_TIMEOUT}{"pmix.job.time"}{int}{
\declareAttributeProvisional{PMIX_JOB_TIMEOUT}{"pmix.job.time"}{int}{
Time in seconds before the spawned job should time out and be terminated (0 => infinite), defined as the total runtime of the job (equivalent to the walltime limit of typical batch schedulers).
}
%
\declareAttributeNEW{PMIX_SPAWN_TIMEOUT}{"pmix.sp.time"}{int}{
\declareAttributeProvisional{PMIX_SPAWN_TIMEOUT}{"pmix.sp.time"}{int}{
Time in seconds before spawn operation should time out (0 => infinite).
Logically equivalent to passing the \refattr{PMIX_TIMEOUT} attribute to the
\refapi{PMIx_Spawn} \ac{API}, it is provided as a separate attribute to distinguish
Expand Down Expand Up @@ -633,7 +633,7 @@ \subsubsection{App structure support macros}

%%%%
\littleheader{Static initializer for the app structure}
\declaremacro{PMIX_APP_STATIC_INIT}
\declaremacroProvisional{PMIX_APP_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_app_t} fields.

Expand Down Expand Up @@ -1214,7 +1214,7 @@ \subsubsection{Topology support macros}

%%%%
\littleheader{Static initializer for the topology structure}
\declaremacro{PMIX_TOPOLOGY_STATIC_INIT}
\declaremacroProvisional{PMIX_TOPOLOGY_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_topology_t} fields.

Expand Down Expand Up @@ -1657,7 +1657,7 @@ \subsection{Device distance support macros}

%%%%
\littleheader{Static initializer for the device distance structure}
\declaremacro{PMIX_DEVICE_DIST_STATIC_INIT}
\declaremacroProvisional{PMIX_DEVICE_DIST_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_device_distance_t} fields.

Expand Down
2 changes: 1 addition & 1 deletion Chap_API_Publish.tex
Original file line number Diff line number Diff line change
Expand Up @@ -441,7 +441,7 @@ \subsubsection{Lookup data structure support macros}

%%%%
\littleheader{Static initializer for the pdata structure}
\declaremacro{PMIX_LOOKUP_STATIC_INIT}
\declaremacroProvisional{PMIX_LOOKUP_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_pdata_t} fields.

Expand Down
8 changes: 7 additions & 1 deletion Chap_API_Reserved_Keys.tex
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,10 @@ \subsection{Job realm attributes}
%
\declareAttributeNEW{PMIX_CMD_LINE}{"pmix.cmd.line"}{char*}{
Command line used to execute the specified job (e.g., "mpirun -n 2 --map-by foo ./myapp : -n 4 ./myapp2").
If the job was created by a call to \refapi{PMIx_Spawn}, the string is an inorder
concatenation of the
values of \refattr{PMIX_APP_ARGV} for each application in the
job using the character ':' as a separator.
}
%
\declareAttribute{PMIX_NSDIR}{"pmix.nsdir"}{char*}{
Expand Down Expand Up @@ -370,6 +374,8 @@ \subsection{Process realm attributes}
Process identifier of the parent process of the specified process - typically
used to identify the application process that caused the job containing the
specified process to be spawned (e.g., the process that called \refapi{PMIx_Spawn}).
This attribute is only provided for a process if it was created by a call to
\refapi{PMIx_Spawn} or \refapi{PMIx_Spawn_nb}.
}
%
\declareAttribute{PMIX_EXIT_CODE}{"pmix.exit.code"}{int}{
Expand Down Expand Up @@ -486,7 +492,7 @@ \subsection{Node realm keys}
Number of processes in the specified job or application realm on the caller's node. Defaults to job realm unless the \refattr{PMIX_APP_INFO} and the \refattr{PMIX_APPNUM} qualifiers are given.
}
%
\declareAttributeNEW{PMIX_NODE_OVERSUBSCRIBED}{"pmix.ndosub"}{bool}{
\declareAttributeProvisional{PMIX_NODE_OVERSUBSCRIBED}{"pmix.ndosub"}{bool}{
True if the number of processes from this job on this node exceeds the number of slots allocated to it
}

Expand Down
6 changes: 3 additions & 3 deletions Chap_API_Server.tex
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ \subsection{Server Initialization Attributes}
The nodes comprising the session are homogeneous - i.e., they each contain the same number of identical packages, fabric interfaces, \acp{GPU}, and other devices.
}
%
\declareAttributeNEW{PMIX_SINGLETON}{"pmix.singleton"}{char*}{
\declareAttributeProvisional{PMIX_SINGLETON}{"pmix.singleton"}{char*}{
String representation (nspace.rank) of proc ID for the singleton the server was started to support
}

Expand Down Expand Up @@ -1469,7 +1469,7 @@ \subsubsection{Attribute registration structure support macros}

%%%%
\littleheader{Static initializer for the regattr structure}
\declaremacro{PMIX_REGATTR_STATIC_INIT}
\declaremacroProvisional{PMIX_REGATTR_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_regattr_t} fields.

Expand Down Expand Up @@ -1873,7 +1873,7 @@ \subsubsection{Cpuset support macros}

%%%%
\littleheader{Static initializer for the cpuset structure}
\declaremacro{PMIX_CPUSET_STATIC_INIT}
\declaremacroProvisional{PMIX_CPUSET_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_cpuset_t} fields.

Expand Down
14 changes: 7 additions & 7 deletions Chap_API_Struct.tex
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,7 @@ \subsubsection{Process structure support macros}

%%%%
\littleheader{Static initializer for the proc structure}
\declaremacro{PMIX_PROC_STATIC_INIT}
\declaremacroProvisional{PMIX_PROC_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_proc_t} fields.

Expand Down Expand Up @@ -868,7 +868,7 @@ \subsubsection{Process information structure support macros}

%%%%
\littleheader{Static initializer for the proc info structure}
\declaremacro{PMIX_PROC_INFO_STATIC_INIT}
\declaremacroProvisional{PMIX_PROC_INFO_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_proc_info_t} fields.

Expand Down Expand Up @@ -1070,7 +1070,7 @@ \subsubsection{Value structure support macros}

%%%%
\littleheader{Static initializer for the value structure}
\declaremacro{PMIX_VALUE_STATIC_INIT}
\declaremacroProvisional{PMIX_VALUE_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_value_t} fields.

Expand Down Expand Up @@ -1290,7 +1290,7 @@ \subsubsection{Info structure support macros}

%%%%
\littleheader{Static initializer for the info structure}
\declaremacro{PMIX_INFO_STATIC_INIT}
\declaremacroProvisional{PMIX_INFO_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_info_t} fields.

Expand Down Expand Up @@ -1764,7 +1764,7 @@ \subsubsection{Environmental variable support macros}

%%%%
\littleheader{Static initializer for the envar structure}
\declaremacro{PMIX_ENVAR_STATIC_INIT}
\declaremacroProvisional{PMIX_ENVAR_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_envar_t} fields.

Expand Down Expand Up @@ -1886,7 +1886,7 @@ \subsubsection{Byte object support macros}

%%%%
\littleheader{Static initializer for the byte object structure}
\declaremacro{PMIX_BYTE_OBJECT_STATIC_INIT}
\declaremacroProvisional{PMIX_BYTE_OBJECT_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_byte_object_t} fields.

Expand Down Expand Up @@ -2006,7 +2006,7 @@ \subsubsection{Data array support macros}

%%%%
\littleheader{Static initializer for the data array structure}
\declaremacro{PMIX_DATA_ARRAY_STATIC_INIT}
\declaremacroProvisional{PMIX_DATA_ARRAY_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_data_array_t} fields.

Expand Down
4 changes: 2 additions & 2 deletions Chap_API_Sync_Access.tex
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ \subsection{Fence-related attributes}
available to each participant at the end of the operation. By default, this will include all job-level information that was locally generated by \ac{PMIx} servers unless excluded using the \refattr{PMIX_COLLECT_GENERATED_JOB_INFO} attribute.
}
%
\declareAttributeNEW{PMIX_LOCAL_COLLECTIVE_STATUS}{"pmix.loc.col.st"}{pmix_status_t}{
\declareAttributeProvisional{PMIX_LOCAL_COLLECTIVE_STATUS}{"pmix.loc.col.st"}{pmix_status_t}{
Status code for local collective operation being reported to the host by the server library. PMIx servers may aggregate the participation by local client processes in a collective operation - e.g., instead of passing individual client calls to \refapi{PMIx_Fence} up to the host environment, the server may pass only a single call to the host when all local participants have executed their \refapi{PMIx_Fence} call, thereby reducing the burden placed on the host. However, in cases where the operation locally fails (e.g., if a participating client abnormally terminates prior to calling the operation), the server upcall functions to the host do not include a \refstruct{pmix_status_t} by which the PMIx server can alert the host to that failure. This attribute resolves that problem by allowing the server to pass the status information regarding the local collective operation.
}
\advicermstart
Expand Down Expand Up @@ -895,7 +895,7 @@ \subsubsection{Query structure support macros}

%%%%
\littleheader{Static initializer for the query structure}
\declaremacro{PMIX_QUERY_STATIC_INIT}
\declaremacroProvisional{PMIX_QUERY_STATIC_INIT}

Provide a static initializer for the \refstruct{pmix_query_t} fields.

Expand Down
16 changes: 8 additions & 8 deletions Chap_API_Tools.tex
Original file line number Diff line number Diff line change
Expand Up @@ -699,11 +699,11 @@ \subsection{IO Forwarding attributes}
The following attributes are used to control \ac{IO} forwarding behavior at the request of tools. Use of the attributes is optional - any option not provided will revert to some implementation-specific value.

%
\declareAttributeNEW{PMIX_IOF_LOCAL_OUTPUT}{"pmix.iof.local"}{bool}{
\declareAttributeProvisional{PMIX_IOF_LOCAL_OUTPUT}{"pmix.iof.local"}{bool}{
Write output streams to local stdout/err
}
%
\declareAttributeNEW{PMIX_IOF_MERGE_STDERR_STDOUT}{"pmix.iof.mrg"}{bool}{
\declareAttributeProvisional{PMIX_IOF_MERGE_STDERR_STDOUT}{"pmix.iof.mrg"}{bool}{
Merge stdout and stderr streams from application procs
}
%
Expand All @@ -727,7 +727,7 @@ \subsection{IO Forwarding attributes}
Max time in seconds to buffer \ac{IO} before delivering it. Used in conjunction with buffering size, this prevents \ac{IO} from being held indefinitely while waiting for another payload to arrive.
}
%
\declareAttributeNEW{PMIX_IOF_OUTPUT_RAW}{"pmix.iof.raw"}{bool}{
\declareAttributeProvisional{PMIX_IOF_OUTPUT_RAW}{"pmix.iof.raw"}{bool}{
Do not buffer output to be written as complete lines - output characters as the stream delivers them
}
%
Expand All @@ -743,7 +743,7 @@ \subsection{IO Forwarding attributes}
Requests that output be marked with the time at which the data was received by the tool - note that this will differ from the time at which the data was collected from the source.
}
%
\declareAttributeNEW{PMIX_IOF_RANK_OUTPUT}{"pmix.iof.rank"}{bool}{
\declareAttributeProvisional{PMIX_IOF_RANK_OUTPUT}{"pmix.iof.rank"}{bool}{
Tag output with the rank it came from
}
%
Expand All @@ -763,19 +763,19 @@ \subsection{IO Forwarding attributes}
Requests that the host environment intercept the specified output stream(s) and deliver it to the requesting tool instead of its current final destination. This might be used, for example, during a debugging procedure to avoid injection of debugger-related output into the application’s results file. The original output stream(s) destination is restored upon termination of the tool.
}
%
\declareAttributeNEW{PMIX_IOF_OUTPUT_TO_FILE}{"pmix.iof.file"}{char*}{
\declareAttributeProvisional{PMIX_IOF_OUTPUT_TO_FILE}{"pmix.iof.file"}{char*}{
Direct application output into files of form "<filename>.<nspace>.<rank>.stdout" (for \code{stdout}) and "<filename>.<nspace>.<rank>.stderr" (for \code{stderr}). If \refattr{PMIX_IOF_MERGE_STDERR_STDOUT} was given, then only the \code{stdout} file will be created and both streams will be written into it.
}
%
\declareAttributeNEW{PMIX_IOF_OUTPUT_TO_DIRECTORY}{"pmix.iof.dir"}{char*}{
\declareAttributeProvisional{PMIX_IOF_OUTPUT_TO_DIRECTORY}{"pmix.iof.dir"}{char*}{
Direct application output into files of form "<directory>/<nspace>/rank.<rank>/stdout" (for \code{stdout}) and "<directory>/<nspace>/rank.<rank>/stderr" (for \code{stderr}). If \refattr{PMIX_IOF_MERGE_STDERR_STDOUT} was given, then only the \code{stdout} file will be created and both streams will be written into it.
}
%
\declareAttributeNEW{PMIX_IOF_FILE_PATTERN}{"pmix.iof.fpt"}{bool}{
\declareAttributeProvisional{PMIX_IOF_FILE_PATTERN}{"pmix.iof.fpt"}{bool}{
Specified output file is to be treated as a pattern and not automatically annotated by nspace, rank, or other parameters. The pattern can use \code{\%n} for the namespace, and \code{\%r} for the rank wherever those quantities are to be placed. The resulting filename will be appended with ".stdout" for the \code{stdout} stream and ".stderr" for the \code{stderr} stream. If \refattr{PMIX_IOF_MERGE_STDERR_STDOUT} was given, then only the \code{stdout} file will be created and both streams will be written into it.
}
%
\declareAttributeNEW{PMIX_IOF_FILE_ONLY}{"pmix.iof.fonly"}{bool}{
\declareAttributeProvisional{PMIX_IOF_FILE_ONLY}{"pmix.iof.fonly"}{bool}{
Output only into designated files - do not also output a copy to the console's stdout/stderr
}
%
Expand Down
64 changes: 60 additions & 4 deletions Chap_Revisions.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1297,14 +1297,70 @@ \section{Version 4.2: TBD}

The v4.2 update includes the following changes from the v4.1 document:

\begin{compactitemize}
\item Define when \refattr{PMIX_PARENT_ID} is set
\item Add adefinition for \refterm{tool}
\item Clarify \refattr{PMIX_CMD_LINE} in \refapi{PMIx_Spawn}
\end{compactitemize}


\subsection{Added Functions (Provisional)}

\begin{compactitemize}
\item \refapi{PMIx_Data_embed}
\end{compactitemize}

\subsection{Added Macros (Provisional)}

\begin{compactitemize}
\item \refmacro{PMIX_APP_STATIC_INIT}
\item \refmacro{PMIX_BYTE_OBJECT_STATIC_INIT}
\item \refmacro{PMIX_COORD_STATIC_INIT}
\item \refmacro{PMIX_CPUSET_STATIC_INIT}
\item \refmacro{PMIX_DATA_ARRAY_STATIC_INIT}
\item \refmacro{PMIX_DATA_BUFFER_STATIC_INIT}
\item \refmacro{PMIX_DEVICE_DIST_STATIC_INIT}
\item \refmacro{PMIX_ENDPOINT_STATIC_INIT}
\item \refmacro{PMIX_ENVAR_STATIC_INIT}
\item \refmacro{PMIX_FABRIC_STATIC_INIT}
\item \refmacro{PMIX_GEOMETRY_STATIC_INIT}
\item \refmacro{PMIX_INFO_STATIC_INIT}
\item \refmacro{PMIX_LOOKUP_STATIC_INIT}
\item \refmacro{PMIX_PROC_INFO_STATIC_INIT}
\item \refmacro{PMIX_PROC_STATIC_INIT}
\item \refmacro{PMIX_QUERY_STATIC_INIT}
\item \refmacro{PMIX_REGATTR_STATIC_INIT}
\item \refmacro{PMIX_TOPOLOGY_STATIC_INIT}
\item \refmacro{PMIX_VALUE_STATIC_INIT}
\end{compactitemize}

\subsection{Added Constants (Provisional)}

\littleheader{Spawn constants}

\begin{compactitemize}
\item \refconst{PMIX_ERR_JOB_EXE_NOT_FOUND}
\item \refconst{PMIX_ERR_JOB_INSUFFICIENT_RESOURCES}
\item \refconst{PMIX_ERR_JOB_SYS_OP_FAILED}
\item \refconst{PMIX_ERR_JOB_WDIR_NOT_FOUND}
\end{compactitemize}

\subsection{Added Attributes (Provisional)}

\littleheader{Spawn attributes}
\pasteAttributeItem{PMIX_ENVARS_HARVESTED}
\pasteAttributeItem{PMIX_JOB_TIMEOUT}
\pasteAttributeItem{PMIX_LOCAL_COLLECTIVE_STATUS}
\pasteAttributeItem{PMIX_NODE_OVERSUBSCRIBED}
\pasteAttributeItem{PMIX_SINGLETON}
\pasteAttributeItem{PMIX_SPAWN_TIMEOUT}

\littleheader{Tool attributes}
\pasteAttributeItem{PMIX_IOF_FILE_PATTERN}
\pasteAttributeItem{PMIX_IOF_FILE_ONLY}
\pasteAttributeItem{PMIX_IOF_LOCAL_OUTPUT}
\pasteAttributeItem{PMIX_IOF_MERGE_STDERR_STDOUT}
\pasteAttributeItem{PMIX_IOF_OUTPUT_RAW}
\pasteAttributeItem{PMIX_IOF_RANK_OUTPUT}
\pasteAttributeItem{PMIX_IOF_OUTPUT_TO_FILE}
\pasteAttributeItem{PMIX_IOF_OUTPUT_RAW}
\pasteAttributeItem{PMIX_IOF_OUTPUT_TO_DIRECTORY}
\pasteAttributeItem{PMIX_IOF_FILE_PATTERN}
\pasteAttributeItem{PMIX_IOF_FILE_ONLY}
\pasteAttributeItem{PMIX_IOF_OUTPUT_TO_FILE}
Loading