2.3.3.1.53. NXcs_profiling_event

Status:

base class, extends NXobject

Description:

Computer science description of a profiling event.

Symbols:

The symbols used in the schema to specify e.g. dimensions of arrays.

n_processes: Number of processes.

Groups cited:

none

Structure:

start_time: (optional) NX_DATE_TIME

ISO 8601 time code with local time zone offset to UTC information ...

ISO 8601 time code with local time zone offset to UTC information included when the event tracking started.

end_time: (optional) NX_DATE_TIME

ISO 8601 time code with local time zone offset to UTC information ...

ISO 8601 time code with local time zone offset to UTC information included when the event tracking ended.

description: (optional) NX_CHAR

Free-text description what was monitored/executed during the event.

elapsed_time: (optional) NX_NUMBER {units=NX_TIME}

Wall-clock time how long the event took. ...

Wall-clock time how long the event took.

This may be in principle end_time minus start_time; however usage of eventually more precise timers may warrant to use a finer temporal discretization, and thus demand for a more precise record of the wall-clock time.

Elapsed time may contain time portions where resources were idling.

max_processes: (optional) NX_UINT {units=NX_UNITLESS}

The number of nominal processes that the app invoked during the execution of t ...

The number of nominal processes that the app invoked during the execution of this event.

The main idea behind this field e.g. for apps which use e.g. MPI (Message Passing Interface) parallelization is to communicate how many processes were used.

For sequentially running apps number_of_processes and number_of_threads is one. If the app exclusively uses GPU parallelization, number_of_gpus can be larger than one. If no GPU is used, number_of_gpus is zero, even though the hardware may have GPUs installed.

max_threads: (optional) NX_UINT {units=NX_UNITLESS}

The number of nominal threads that the app invoked at during the execution of ...

The number of nominal threads that the app invoked at during the execution of this event. Specifically here the maximum number of threads used for the high-level threading library used (e.g. OMP_NUM_THREADS), posix.

max_gpus: (optional) NX_UINT {units=NX_UNITLESS}

The number of nominal GPUs that the app invoked during the execution of this ...

The number of nominal GPUs that the app invoked during the execution of this event.

max_virtual_memory_snapshot: (optional) NX_NUMBER (Rank: 1, Dimensions: [n_processes]) {units=NX_ANY}

Maximum amount of virtual memory allocated per process during the event.

max_resident_memory_snapshot: (optional) NX_NUMBER (Rank: 1, Dimensions: [n_processes]) {units=NX_ANY}

Maximum amount of resident memory allocated per process during the event.

Hypertext Anchors

List of hypertext anchors for all groups, fields, attributes, and links defined in this class.

NXDL Source:

https://github.com/FAIRmat-NFDI/nexus_definitions/tree/fairmat/base_classes/NXcs_profiling_event.nxdl.xml