Activities

Each exported object in an activity is presented as a list of fractional percentages (0.0 - 1.0) of sample time recorded for a particular activity during each sample window. Therefore, there are as many entries in these list as there are samples.

Description of categories

The following is the list of all of the categories. Only available categories are exported, see Main Thread Activity Categories and OpenMP and Pthreads Activity Categories below.

  • normal_compute: Proportion of time spent on the CPU which is not categorized as any of the following activities. The computation can be, for example, floating point scalar (vector) addition, multiplication, or division.

  • point_to_point_mpi: Proportion of time spent in point-to-point MPI calls on the main thread and not inside an OpenMP region.

  • collective_mpi: Proportion of time spent in collective MPI calls on the main thread and not inside an OpenMP region.

  • point_to_point_mpi_openmp: Proportion of time spent in point-to-point MPI calls made from any thread within an OpenMP region.

  • collective_mpi_openmp: Proportion of time spent in collective MPI calls made from any thread within an OpenMP region.

  • point_to_point_mpi_non_main_thread: Proportion of time spent in point-to-point MPI calls on a pthread, but not on the main thread nor within an OpenMP region.

  • collective_mpi_non_main_thread: Proportion of time spent in collective MPI calls on a pthread, but not on the main thread nor within an OpenMP region.

  • openmp: Proportion of time spent in an OpenMP region, that is compiler-inserted calls used to implement the contents of a OpenMP loop.

  • accelerator: Proportion of time spent in calls to accelerators, that is, blocking calls waiting for a CUDA kernel to return.

  • pthreads: Proportion of compute time on a non-main (worker) pthread.

  • openmp_overhead_in_region: Proportion of time spent setting up OpenMP structures, waiting for threads to finish and so on.

  • openmp_overhead_no_region: Proportion of time spent in calls to the OpenMP runtime from an OpenMP region.

  • synchronisation: Proportion of time spent in thread synchronization calls, such as pthread_mutex_lock.

  • io_reads: Proportion of time spent in I/O read operations, such as ‘read’.

  • io_writes: Proportion of time spent in I/O write operations. Also includes file open and close time as these are typically only significant when writing.

  • io_reads_openmp: Proportion of time spent in I/O read operations from within an OpenMP region.

  • io_writes_openmp: Proportion of time spent in I/O write operations from within an OpenMP region.

  • mpi_worker: Proportion of time spent in the MPI implementation on a worker thread.

  • mpi_monitor: Proportion of time spent in the MPI monitor thread.

  • openmp_monitor: Proportion of time spent in the OpenMP monitor thread.

  • sleep: Proportion of time spent in sleeping threads and processes.

Main Thread Activity Categories

The following categories are available in the main_thread activity view.

  • normal_compute

  • point_to_point_mpi

  • collective_mpi

  • point_to_point_mpi_openmp

  • collective_mpi_openmp

  • openmp

  • accelerator

  • openmp_overhead_in_region

  • openmp_overhead_no_region

  • synchronisation

  • io_reads

  • io_writes

  • io_reads_openmp

  • io_writes_openmp

  • sleep

OpenMP and Pthreads Activity Categories

The following categories are available in the openmp and pthreads activity views. The pthreads data corresponds to the Thread mode in the MAP UI.

  • normal_compute

  • point_to_point_mpi

  • collective_mpi

  • point_to_point_mpi_openmp

  • collective_mpi_openmp

  • point_to_point_mpi_non_main_thread

  • collective_mpi_non_main_thread

  • openmp

  • accelerator

  • pthreads

  • openmp_overhead_in_region

  • openmp_overhead_no_region

  • synchronisation

  • io_reads

  • io_writes

  • io_reads_openmp

  • io_writes_openmp

  • mpi_worker

  • mpi_monitor

  • openmp_monitor

  • sleep