Skip to content

Commit 5a319b3

Browse files
authored
Merge pull request #292 from rhc54/rfc/v4fix
Updates to Python bindings and missed API
2 parents 25fd531 + 4aef4e3 commit 5a319b3

13 files changed

+177
-182
lines changed

App_Python.tex

Lines changed: 35 additions & 139 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,9 @@ \section{Datatype Definitions}
7474
\refstruct{pmix_proc_state_t} & PMIX_PROC_STATE & integer & value shall be limited to the \code{uint8_t} range \\ \hline
7575
\refstruct{pmix_proc_info_t} & PMIX_PROC_INFO & \{'proc': \{'nspace': nspace, 'rank': rank\}, 'hostname': hostname, 'executable': executable, 'pid': pid, 'exitcode': exitcode, 'state': state\} & \refarg{proc} is a Python \refpy{proc} dictionary; \refarg{hostname} and \refarg{executable} are Python strings; and \refarg{pid}, \refarg{exitcode}, and \refarg{state} are Python integers \\ \hline
7676
\refstruct{pmix_data_array_t} & PMIX_DATA_ARRAY & \pylabel{array}\{'type': type, 'array': array\} & \refarg{type} is the \ac{PMIx} type of object in the array and \refarg{array} is a Python \emph{list} containing the individual array elements. Note that \refarg{array} can consist of \emph{any} \ac{PMIx} types, including (for example) a Python \refpy{info} object that itself contains an \refpy{array} value \\ \hline
77-
\refstruct{pmix_info_directives_t} & PMIX_INFO_DIRECTIVES & \pylabel{info directives}bitarray & 32-bit array \\ \hline
77+
\refstruct{pmix_info_directives_t} & PMIX_INFO_DIRECTIVES & \pylabel{info directives}list & list of integer values (defined in Section \ref{api:struct:infodirs}) \\ \hline
7878
\refstruct{pmix_alloc_directive_t} & PMIX_ALLOC_DIRECTIVE & \pylabel{allocdir}integer & value shall be limited to the \code{uint8_t} range \\ \hline
79-
\refstruct{pmix_iof_channel_t} & PMIX_IOF_CHANNEL & \pylabel{channel}bitarray & 16-bit array \\ \hline
79+
\refstruct{pmix_iof_channel_t} & PMIX_IOF_CHANNEL & \pylabel{channel}list & list of integer values (defined in Section \ref{api:tool:iofchannels}) \\ \hline
8080
\refstruct{pmix_envar_t} & PMIX_ENVAR & \{'envar': envar, 'value': value, 'separator': separator\} & \refarg{envar} and \refarg{value} are Python strings, and \refarg{separator} a single-character Python string \\ \hline
8181
\refstruct{pmix_value_t} & PMIX_VALUE & \pylabel{value}\{'value': value, 'val_type': type\} & \refarg{type} is the \ac{PMIx} datatype of \refarg{value}, and \refarg{value} is the associated value expressed in the appropriate Python form for the specified datatype \\ \hline
8282
\refstruct{pmix_info_t} & PMIX_INFO & \pylabel{info}\{'key': key, 'flags': flags, value': value, 'val_type': type\} & \refarg{key} is a Python string \refpy{key}, \refarg{flags} is an \refpy{info directives} value, \refarg{type} is the \ac{PMIx} datatype of \refarg{value}, and \refarg{value} is the associated value expressed in the appropriate Python form for the specified datatype \\ \hline
@@ -86,15 +86,15 @@ \section{Datatype Definitions}
8686
\refstruct{pmix_regattr_t} & PMIX_REGATTR & \pylabel{regattr}\{'name': name, 'key': key, 'type': type, 'info': [info], 'description': [desc]\} & \refarg{name} and \refarg{string} are Python strings; \refarg{type} is the \ac{PMIx} datatype for the attribute's value; \refarg{info} is a Python \emph{list} of \refpy{info} values; and \refarg{description} is a list of Python strings describing the attribute \\ \hline
8787
\refstruct{pmix_job_state_t} & PMIX_JOB_STATE & integer & value shall be limited to the \code{uint8_t} range \\ \hline
8888
\refstruct{pmix_link_state_t} & PMIX_LINK_STATE & integer & value shall be limited to the \code{uint8_t} range \\ \hline
89-
\refstruct{pmix_cpuset_t} & PMIX_PROC_CPUSET & \pylabel{cpuset}\{'source': source, 'cpus': bitmap\} & \refarg{source} is a string name of the library that created the cpuset; and \refarg{cpus} is a bitarray containing the cpuset \\ \hline
90-
\refstruct{pmix_locality_t} & PMIX_LOCTYPE & \pylabel{locality}bitarray & 16-bit array containing the relative locality of the specified local process \\ \hline
89+
\refstruct{pmix_cpuset_t} & PMIX_PROC_CPUSET & \pylabel{cpuset}\{'source': source, 'cpus': bitmap\} & \refarg{source} is a string name of the library that created the cpuset; and \refarg{cpus} is a list of string ranges identifying the \acp{PU} to which the process is bound (e.g., [1, 3-5, 7]) \\ \hline
90+
\refstruct{pmix_locality_t} & PMIX_LOCTYPE & \pylabel{locality}list & list of integer values (defined in Section \ref{api:proc:locality}) describing the relative locality of the specified local process \\ \hline
9191
\refstruct{pmix_fabric_t} & N/A & \pylabel{fabric}\{'name': name, 'index': idx, 'info': [info]\} & \refarg{name} is the string name assigned to the fabric; \refarg{index} is the integer ID assigned to the fabric; \refarg{info} is a list of \refpy{info} describing the fabric \\ \hline
9292
\refstruct{pmix_endpoint_t} & PMIX_ENDPOINT & \pylabel{endpoint}\{'uuid': uuid, 'osname': osname, endpt': endpt\} & \refarg{uuid} is the string system-unique identifier assigned to the device; \refarg{osname} is the operating system name assigned to the device; \refarg{endpt} is a \refpy{byteobject} containing the endpoint information \\ \hline
9393
\refstruct{pmix_device_distance_t} & PMIX_DEVICE_DIST & \pylabel{devdist}\{'uuid': uuid, 'osname': osname, mindist': mindist, 'maxdist': maxdist\} & \refarg{uuid} is the string system-unique identifier assigned to the device; \refarg{osname} is the operating system name assigned to the device; and \refarg{mindist} and \refarg{maxdist} are Python integers \\ \hline
9494
\refstruct{pmix_coord_t} & PMIX_COORD & \pylabel{coord}\{'view': view, 'coord': [coords]\} & \refarg{view} is the \refstruct{pmix_coord_view_t} of the coordinate; and \refarg{coord} is a list of integer coordinates, one for each dimension of the fabric \\ \hline
9595
\refstruct{pmix_geometry_t} & PMIX_GEOMETRY & \pylabel{geometry}\{'fabric': idx, 'uuid': uuid, 'osname': osname, coordinates': [coords]\} & \refarg{fabric} is the Python integer index of the fabric; \refarg{uuid} is the string system-unique identifier assigned to the device; \refarg{osname} is the operating system name assigned to the device; and \refarg{coordinates} is a list of \refpy{coord} containing the coordinates for the device across all views \\ \hline
96-
\refstruct{pmix_device_type_t} & PMIX_DEVTYPE & \pylabel{devtype}bitarray & 16-bit array \\ \hline
97-
\refstruct{pmix_bind_envelope_t} & N/A & \pylabel{bindenv}integer & \\ \hline
96+
\refstruct{pmix_device_type_t} & PMIX_DEVTYPE & \pylabel{devtype}list & list of integer values (defined in Section \ref{api:proc:devtype}) \\ \hline
97+
\refstruct{pmix_bind_envelope_t} & N/A & \pylabel{bindenv}integer & one of the values defined in Section \ref{api:proc:bindenv} \\ \hline
9898
\end{longtable}
9999
\end{small}
100100
\end{landscape}
@@ -2335,7 +2335,7 @@ \subsection{Client.load_topology}
23352335
\item \refarg{rc} - \refconst{PMIX_SUCCESS} or a negative value corresponding to a PMIx error constant (integer)
23362336
\end{itemize}
23372337

2338-
See \refapi{PMIx_Load_topology} for details - note that the topology loaded into the \ac{PMIx} library may be utilized by \ac{PMIx} and other libraries, but is not accessible by Python.
2338+
See \refapi{PMIx_Load_topology} for details - note that the topology loaded into the \ac{PMIx} library may be utilized by \ac{PMIx} and other libraries, but is not directly accessible by Python.
23392339

23402340

23412341
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -2364,43 +2364,12 @@ \subsection{Client.get_relative_locality}
23642364

23652365
\begin{itemize}
23662366
\item \refarg{rc} - \refconst{PMIX_SUCCESS} or a negative value corresponding to a PMIx error constant (integer)
2367-
\item \refarg{locality} - \refpy{locality} bitarray containing the relative locality of the two processes (bitarray)
2367+
\item \refarg{locality} - \refpy{locality} list containing the relative locality of the two processes (list)
23682368
\end{itemize}
23692369

23702370
See \refapi{PMIx_Get_relative_locality} for details.
23712371

23722372

2373-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2374-
\subsection{Client.parse_cpuset_string}
2375-
\declareapibinding{PMIxClient.parse_cpuset_string}{PMIx_Parse_cpuset_string}{Python}
2376-
2377-
\summary
2378-
Parse the \ac{PU} binding bitmap from its string representation.
2379-
2380-
\format
2381-
2382-
\versionMarker{4.0}
2383-
\pyspecificstart
2384-
\begin{codepar}
2385-
rc,cpuset = myclient.parse_cpuset_string(cpusetstr:str)
2386-
\end{codepar}
2387-
\pyspecificend
2388-
2389-
\begin{arglist}
2390-
\argin{cpusetstr}{String of a cpuset (str)}
2391-
\end{arglist}
2392-
2393-
2394-
Returns:
2395-
2396-
\begin{itemize}
2397-
\item \refarg{rc} - \refconst{PMIX_SUCCESS} or a negative value corresponding to a PMIx error constant (integer)
2398-
\item \refarg{cpuset} - \refpy{cpuset} containing the source and bitmap of the cpuset (dict)
2399-
\end{itemize}
2400-
2401-
See \refapi{PMIx_Parse_cpuset_string} for details.
2402-
2403-
24042373
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
24052374
\subsection{Client.get_cpuset}
24062375
\declareapibinding{PMIxClient.get_cpuset}{PMIx_Get_cpuset}{Python}
@@ -2450,7 +2419,7 @@ \subsection{Client.compute_distances}
24502419

24512420
\begin{arglist}
24522421
\argin{cpuset}{\refpy{cpuset} describing the location of the process (dict)}
2453-
\argin{info}{List of \refpy{info} dictionaries describing the devices whose distance is to be computed (str)}
2422+
\argin{info}{List of \refpy{info} dictionaries describing the devices whose distance is to be computed (list)}
24542423
\end{arglist}
24552424

24562425

@@ -2461,7 +2430,7 @@ \subsection{Client.compute_distances}
24612430
\item \refarg{distances} - List of \refpy{devdist} structures containing the distances from the caller to the specified devices (list)
24622431
\end{itemize}
24632432

2464-
See \refapi{PMIx_Compute_distances} for details.
2433+
See \refapi{PMIx_Compute_distances} for details. Note that distances can only be computed against the local topology.
24652434

24662435

24672436

@@ -2900,6 +2869,28 @@ \subsection{Client.device_type_string}
29002869
See \refapi{PMIx_Device_type_string} for further details.
29012870

29022871

2872+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2873+
\subsection{Client.progress}
2874+
\declareapibinding{PMIxClient.progress}{PMIx_Progress}{Python}
2875+
2876+
%%%%
2877+
\summary
2878+
2879+
Progress the \ac{PMIx} library.
2880+
2881+
%%%%
2882+
\format
2883+
2884+
\versionMarker{4.0}
2885+
\pyspecificstart
2886+
\begin{codepar}
2887+
myclient.progress()
2888+
\end{codepar}
2889+
\pyspecificend
2890+
2891+
2892+
See \refapi{PMIx_Progress} for further details.
2893+
29032894

29042895
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
29052896
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -3451,37 +3442,6 @@ \subsection{Server.deliver_inventory}
34513442
See \refapi{PMIx_server_deliver_inventory} for details.
34523443

34533444

3454-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3455-
\subsection{Server.generate_locality_string}
3456-
\declareapibinding{PMIxServer.generate_locality_string}{PMIx_server_generate_locality_string}{Python}
3457-
3458-
\summary
3459-
Generate a \ac{PMIx} locality string from a given cpuset.
3460-
3461-
\format
3462-
3463-
\versionMarker{4.0}
3464-
\pyspecificstart
3465-
\begin{codepar}
3466-
rc,locality = myserver.generate_locality_string(cpuset:\refpy{cpuset})
3467-
\end{codepar}
3468-
\pyspecificend
3469-
3470-
3471-
\begin{arglist}
3472-
\argin{cpuset} - Python \refpy{cpuset} identifying the \acp{PU} (\refpy{cpuset})
3473-
\end{arglist}
3474-
3475-
Returns:
3476-
3477-
\begin{itemize}
3478-
\item \refarg{rc} - \refconst{PMIX_SUCCESS} or a negative value corresponding to a PMIx error constant (integer)
3479-
\item \refarg{locality} - string representation of the locality corresponding to the provided \refarg{cpuset} (str)
3480-
\end{itemize}
3481-
3482-
See \refapi{PMIx_server_generate_locality_string} for details.
3483-
3484-
34853445
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
34863446
\subsection{Server.define_process_set}
34873447
\declareapibinding{PMIxServer.define_process_set}{PMIx_server_define_process_set}{Python}
@@ -3518,20 +3478,19 @@ \subsection{Server.delete_process_set}
35183478
\declareapibinding{PMIxServer.delete_process_set}{PMIx_server_delete_process_set}{Python}
35193479

35203480
\summary
3521-
Delete members from a \ac{PMIx} process set.
3481+
Delete a \ac{PMIx} process set.
35223482

35233483
\format
35243484

35253485
\versionMarker{4.0}
35263486
\pyspecificstart
35273487
\begin{codepar}
3528-
rc = myserver.delete_process_set(members:list, name:str)
3488+
rc = myserver.delete_process_set(name:str)
35293489
\end{codepar}
35303490
\pyspecificend
35313491

35323492

35333493
\begin{arglist}
3534-
\argin{members} - List of Python \refpy{proc} dictionaries identifying the processes to be removed from the process set (list)
35353494
\argin{name} - Name of the process set (str)
35363495
\end{arglist}
35373496

@@ -3544,68 +3503,6 @@ \subsection{Server.delete_process_set}
35443503
See \refapi{PMIx_server_delete_process_set} for details.
35453504

35463505

3547-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3548-
\subsection{Server.generate_locality_string}
3549-
\declareapibinding{PMIxServer.generate_locality_string}{PMIx_server_generate_locality_string}{Python}
3550-
3551-
\summary
3552-
Generate a \ac{PMIx} locality string from a given cpuset.
3553-
3554-
\format
3555-
3556-
\versionMarker{4.0}
3557-
\pyspecificstart
3558-
\begin{codepar}
3559-
rc,locality = myserver.generate_locality_string(cpuset:dict)
3560-
\end{codepar}
3561-
\pyspecificend
3562-
3563-
3564-
\begin{arglist}
3565-
\argin{cpuset} - Python \refpy{cpuset} dictionary containing the bitmap of assigned \acp{PU} (dict)
3566-
\end{arglist}
3567-
3568-
Returns:
3569-
3570-
\begin{itemize}
3571-
\item \refarg{rc} - \refconst{PMIX_SUCCESS} or a negative value corresponding to a PMIx error constant (integer)
3572-
\item \refarg{locality} - String representation of the \ac{PMIx} locality corresponding to the input bitmap (str)
3573-
\end{itemize}
3574-
3575-
See \refapi{PMIx_server_generate_locality_string} for details.
3576-
3577-
3578-
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3579-
\subsection{Server.generate_cpuset_string}
3580-
\declareapibinding{PMIxServer.generate_cpuset_string}{PMIx_server_generate_cpuset_string}{Python}
3581-
3582-
\summary
3583-
Generate a \ac{PMIx} string representation of the provided cpuset.
3584-
3585-
\format
3586-
3587-
\versionMarker{4.0}
3588-
\pyspecificstart
3589-
\begin{codepar}
3590-
rc,cpusetstr = myserver.generate_cpuset_string(cpuset:dict)
3591-
\end{codepar}
3592-
\pyspecificend
3593-
3594-
3595-
\begin{arglist}
3596-
\argin{cpuset} - Python \refpy{cpuset} dictionary containing the bitmap of assigned \acp{PU} (dict)
3597-
\end{arglist}
3598-
3599-
Returns:
3600-
3601-
\begin{itemize}
3602-
\item \refarg{rc} - \refconst{PMIX_SUCCESS} or a negative value corresponding to a PMIx error constant (integer)
3603-
\item \refarg{cpusetstr} - String representation of the \ac{PMIx} input bitmap (str)
3604-
\end{itemize}
3605-
3606-
See \refapi{PMIx_server_generate_cpuset_string} for details.
3607-
3608-
36093506
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
36103507
\subsection{Server.register_resources}
36113508
\declareapibinding{PMIxServer.register_resources}{PMIx_server_register_resources}{Python}
@@ -3769,8 +3666,7 @@ \subsection{Tool.attach_to_server}
37693666
\declareapibinding{PMIxTool.attach_to_server}{PMIx_tool_attach_to_server}{Python}
37703667

37713668
\summary
3772-
Switch connection from the current \ac{PMIx} server to another one, or initialize a connection to a specified server.
3773-
3669+
Establish a connection to a PMIx server.
37743670

37753671
\format
37763672

Chap_API_Event.tex

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,15 @@ \subsubsection{Fault tolerance event attributes}
310310
The time in seconds before the \ac{RM} will execute the indicated operation.
311311
}
312312

313+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
314+
\subsubsection{Hybrid programming event attributes}
315+
\label{api:struct:attributes:hybrid}
316+
317+
The following attributes may be used by programming models to coordinate their use of common resources within a process in conjunction with the \refconst{PMIX_OPENMP_PARALLEL_ENTERED} event:
318+
%
319+
\pasteAttributeItem{PMIX_MODEL_PHASE_NAME}
320+
\pasteAttributeItem{PMIX_MODEL_PHASE_TYPE}
321+
313322
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
314323
\subsection{Notification Function}
315324
\declareapi{pmix_notification_fn_t}

Chap_API_Fabric.tex

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -614,10 +614,6 @@ \section{Fabric Support Attributes}
614614
Total number of fabric devices in the overall system - corresponds to the number of rows or columns in the cost matrix.
615615
}
616616
%
617-
\declareAttributeNEW{PMIX_FABRIC_VIEW}{"pmix.fab.view"}{pmix_coord_view_t}{
618-
Used purely as a qualifier to requests, specifies the view type (e.g., local vs. physical) for the requested information.
619-
}
620-
%
621617
\declareAttributeNEW{PMIX_FABRIC_DIMS}{"pmix.fab.dims"}{uint32_t}{
622618
Number of dimensions in the specified fabric plane/view. If no plane is specified in a request, then the dimensions of all planes in the overall system will be returned as a \refstruct{pmix_data_array_t} containing an array of \code{uint32_t} values. Default is to provide dimensions in \emph{logical} view.
623619
}

Chap_API_Init.tex

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,20 @@ \section{\code{PMIx_Init}}
125125
\pasteAttributeItemEnd{}
126126
\pasteAttributeItemBegin{PMIX_TCP_DISABLE_IPV6} If the library supports IPV6 connections, this attribute may be supported for disabling it.
127127
\pasteAttributeItemEnd{}
128-
\pasteAttributeItem{PMIX_EVENT_BASE}
128+
\pasteAttributeItem{PMIX_EXTERNAL_PROGRESS}
129+
130+
\vspace{\baselineskip}
131+
If provided, the following attributes are used by the event notification system for inter-library coordination:
132+
133+
\pasteAttributeItem{PMIX_PROGRAMMING_MODEL}
134+
\pasteAttributeItem{PMIX_MODEL_LIBRARY_NAME}
135+
\pasteAttributeItem{PMIX_MODEL_LIBRARY_VERSION}
136+
\pasteAttributeItem{PMIX_THREADING_MODEL}
137+
\pasteAttributeItem{PMIX_MODEL_NUM_THREADS}
138+
\pasteAttributeItem{PMIX_MODEL_NUM_CPUS}
139+
\pasteAttributeItem{PMIX_MODEL_CPU_TYPE}
140+
\pasteAttributeItem{PMIX_MODEL_AFFINITY_POLICY}
141+
129142
\optattrend
130143

131144
%%%%
@@ -316,4 +329,31 @@ \subsection{Finalize attributes}
316329
}
317330

318331

332+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
333+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334+
\section{\code{PMIx_Progress}}
335+
\declareapi{PMIx_Progress}
336+
337+
%%%%
338+
\summary
339+
340+
Progress the \ac{PMIx} library.
341+
342+
%%%%
343+
\format
344+
345+
\versionMarker{4.0}
346+
\cspecificstart
347+
\begin{codepar}
348+
void
349+
PMIx_Progress(void)
350+
\end{codepar}
351+
\cspecificend
352+
353+
354+
%%%%
355+
\descr
356+
357+
Progress the \ac{PMIx} library. Note that special care must be taken to avoid deadlocking in \ac{PMIx} callback functions and acp{API}.
358+
319359
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Chap_API_Job_Mgmt.tex

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -693,6 +693,7 @@ \subsection{\code{PMIx_Process_monitor}}
693693
\pasteAttributeItem{PMIX_MONITOR_FILE_MODIFY}
694694
\pasteAttributeItem{PMIX_MONITOR_FILE_CHECK_TIME}
695695
\pasteAttributeItem{PMIX_MONITOR_FILE_DROPS}
696+
\pasteAttributeItem{PMIX_SEND_HEARTBEAT}
696697

697698
\optattrend
698699

@@ -771,6 +772,7 @@ \subsection{\code{PMIx_Process_monitor_nb}}
771772
\pasteAttributeItem{PMIX_MONITOR_FILE_MODIFY}
772773
\pasteAttributeItem{PMIX_MONITOR_FILE_CHECK_TIME}
773774
\pasteAttributeItem{PMIX_MONITOR_FILE_DROPS}
775+
\pasteAttributeItem{PMIX_SEND_HEARTBEAT}
774776

775777
\optattrend
776778

@@ -952,6 +954,9 @@ \subsection{\code{PMIx_Log}}
952954
\pasteAttributeItem{PMIX_LOG_XML_OUTPUT}
953955
\pasteAttributeItem{PMIX_LOG_EMAIL}
954956
\pasteAttributeItem{PMIX_LOG_EMAIL_ADDR}
957+
\pasteAttributeItem{PMIX_LOG_EMAIL_SENDER_ADDR}
958+
\pasteAttributeItem{PMIX_LOG_EMAIL_SERVER}
959+
\pasteAttributeItem{PMIX_LOG_EMAIL_SRVR_PORT}
955960
\pasteAttributeItem{PMIX_LOG_EMAIL_SUBJECT}
956961
\pasteAttributeItem{PMIX_LOG_EMAIL_MSG}
957962
\pasteAttributeItem{PMIX_LOG_JOB_RECORD}
@@ -1038,6 +1043,9 @@ \subsection{\code{PMIx_Log_nb}}
10381043
\pasteAttributeItem{PMIX_LOG_XML_OUTPUT}
10391044
\pasteAttributeItem{PMIX_LOG_EMAIL}
10401045
\pasteAttributeItem{PMIX_LOG_EMAIL_ADDR}
1046+
\pasteAttributeItem{PMIX_LOG_EMAIL_SENDER_ADDR}
1047+
\pasteAttributeItem{PMIX_LOG_EMAIL_SERVER}
1048+
\pasteAttributeItem{PMIX_LOG_EMAIL_SRVR_PORT}
10411049
\pasteAttributeItem{PMIX_LOG_EMAIL_SUBJECT}
10421050
\pasteAttributeItem{PMIX_LOG_EMAIL_MSG}
10431051
\pasteAttributeItem{PMIX_LOG_JOB_RECORD}

0 commit comments

Comments
 (0)