dlb_talp.h

Date:Fri Jul 15 2022

NAME

dlb_talp.h

SYNOPSIS


#include <time.h>
#include <stdint.h>

Data Structures

struct dlb_monitor_t

Functions

int DLB_TALP_Attach (void)
Attach current process to DLB system as TALP administrator.
int DLB_TALP_Detach (void)
Detach current process from DLB system.
int DLB_TALP_GetNumCpus (int *ncpus)
Get the number of CPUs in the node.
int DLB_TALP_GetPidList (int *pidlist, int *nelems, int max_len)
Get the list of running processes registered in the DLB system.
int DLB_TALP_GetTimes (int pid, double *mpi_time, double *useful_time)
Get the CPU time spent on MPI and useful computation for the given process.
const dlb_monitor_t * DLB_MonitoringRegionGetMPIRegion (void)
Get the pointer of the implicit MPI Monitorig Region.
dlb_monitor_t * DLB_MonitoringRegionRegister (const char *name)
Register a new Monitoring Region.
int DLB_MonitoringRegionReset (dlb_monitor_t *handle)
Reset monitoring region.
int DLB_MonitoringRegionStart (dlb_monitor_t *handle)
Start (or unpause) monitoring region.
int DLB_MonitoringRegionStop (dlb_monitor_t *handle)
Stop (or pause) monitoring region.
int DLB_MonitoringRegionReport (const dlb_monitor_t *handle)
Print a report to stderr of the monitoring region.

Function Documentation

int DLB_TALP_Attach (void)

Attach current process to DLB system as TALP administrator.

Returns:

DLB_SUCCESS on success

Once the process is attached to DLB as TALP administrator, it may perform the below actions described in this file. This way, the process is able to obtain some TALP values such as time spent in computation or MPI for each of the DLB running processes.

int DLB_TALP_Detach (void)

Detach current process from DLB system.

Returns:

DLB_SUCCESS on success

DLB_ERR_NOSHMEM if cannot find shared memory to dettach from

If previously attached, a process must call this function to correctly close file descriptors and clean data.

int DLB_TALP_GetNumCpus (int * ncpus)

Get the number of CPUs in the node.

Parameters:

ncpus the number of CPUs

Returns:

DLB_SUCCESS on success

int DLB_TALP_GetPidList (int * pidlist, int * nelems, int max_len)

Get the list of running processes registered in the DLB system.

Parameters:

pidlist The output list
nelems Number of elements in the list
max_len Max capacity of the list

Returns:

DLB_SUCCESS on success

DLB_ERR_NOSHMEM if cannot find shared memory

int DLB_TALP_GetTimes (int pid, double * mpi_time, double * useful_time)

Get the CPU time spent on MPI and useful computation for the given process.

Parameters:

pid target Process ID
mpi_time CPU time spent on MPI in seconds
useful_time CPU time spend on useful computation in seconds

Returns:

DLB_SUCCESS on success

const dlb_monitor_t* DLB_MonitoringRegionGetMPIRegion (void)

Get the pointer of the implicit MPI Monitorig Region.

Returns:

monitor handle to be used on queries

dlb_monitor_t* DLB_MonitoringRegionRegister (const char * name)

Register a new Monitoring Region.

Parameters:

name Name to identify the new region

Returns:

monitor handle to be used on subsequent calls

int DLB_MonitoringRegionReset (dlb_monitor_t * handle)

Reset monitoring region.

Parameters:

handle Monitoring handle that identifies the region

Returns:

DLB_SUCCESS on success

int DLB_MonitoringRegionStart (dlb_monitor_t * handle)

Start (or unpause) monitoring region.

Parameters:

handle Monitoring handle that identifies the region

Returns:

DLB_SUCCESS on success

int DLB_MonitoringRegionStop (dlb_monitor_t * handle)

Stop (or pause) monitoring region.

Parameters:

handle Monitoring handle that identifies the region

Returns:

DLB_SUCCESS on success

int DLB_MonitoringRegionReport (const dlb_monitor_t * handle)

Print a report to stderr of the monitoring region.

Parameters:

handle Monitoring handle that identifies the region

Returns:

DLB_SUCCESS on success

Author

Generated automatically by Doxygen for Dynamic Load Balance from the source code.