Dynamic Load Balance 3.7.0
Data Structures | Macros | Functions | Variables
ompt-multiplex.h File Reference
#include "LB_numThreads/omp-tools.h"
#include "support/dlb_common.h"
#include <dlfcn.h>
#include <errno.h>
#include <inttypes.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
Include dependency graph for ompt-multiplex.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ompt_multiplex_callbacks_t
 
struct  ompt_multiplex_callback_implementation_status_t
 
struct  ompt_multiplex_data_pair_t
 

Macros

#define _GNU_SOURCE
 
#define CLIENT_TOOL_VERBOSE_INIT_VAR   "OMP_TOOL_VERBOSE_INIT"
 
#define OMPT_API_ROUTINE   static
 
#define OMPT_STR_MATCH(haystack, needle)   (!strcasecmp(haystack, needle))
 
#define OMPT_VERBOSE_INIT_PRINT(...)
 
#define OMPT_VERBOSE_INIT_CONTINUED_PRINT(...)
 
#define OMPT_LOAD_CLIENT_FOREACH_OMPT_EVENT(macro)
 
#define ompt_event_macro(event, callback, eventid)   callback ompt_##event
 
#define ompt_event_macro(event, callback, eventid)   int ompt_##event
 
#define ompt_event_macro(event_name, callback_type, event_id)
 
#define ompt_event_macro(event_name, callback_type, event_id)
 
#define ompt_event_macro(event_name, callback_type, event_id)    ompt_multiplex_implementation_status.ompt_##event_name = -1
 
#define ompt_start_tool   ompt_multiplex_own_start_tool
 

Functions

void setup_verbose_init ()
 
int ompt_multiplex_own_get_task_info (int ancestor_level, int *type, ompt_data_t **task_data, ompt_frame_t **task_frame, ompt_data_t **parallel_data, int *thread_num)
 
int ompt_multiplex_client_get_task_info (int ancestor_level, int *type, ompt_data_t **task_data, ompt_frame_t **task_frame, ompt_data_t **parallel_data, int *thread_num)
 
ompt_data_tompt_multiplex_own_get_thread_data ()
 
ompt_data_tompt_multiplex_client_get_thread_data ()
 
int ompt_multiplex_own_get_parallel_info (int ancestor_level, ompt_data_t **parallel_data, int *team_size)
 
int ompt_multiplex_client_get_parallel_info (int ancestor_level, ompt_data_t **parallel_data, int *team_size)
 
OMPT_API_ROUTINE int ompt_multiplex_own_set_callback (ompt_callbacks_t which, ompt_callback_t callback)
 
OMPT_API_ROUTINE int ompt_multiplex_client_set_callback (ompt_callbacks_t which, ompt_callback_t callback)
 
ompt_interface_fn_t ompt_multiplex_own_lookup (const char *name)
 
ompt_interface_fn_t ompt_multiplex_client_lookup (const char *name)
 
int ompt_multiplex_initialize (ompt_function_lookup_t lookup, int initial_device_num, ompt_data_t *data)
 
void ompt_multiplex_finalize (ompt_data_t *fns)
 
DLB_EXPORT_SYMBOL ompt_start_tool_result_tompt_start_tool (unsigned int omp_version, const char *runtime_version)
 

Variables

ompt_start_tool_result_tompt_multiplex_own_fns = NULL
 
ompt_start_tool_result_tompt_multiplex_client_fns = NULL
 
ompt_function_lookup_t ompt_multiplex_lookup_function
 
ompt_multiplex_callbacks_t ompt_multiplex_own_callbacks
 
ompt_multiplex_callbacks_t ompt_multiplex_client_callbacks
 
ompt_multiplex_callback_implementation_status_t ompt_multiplex_implementation_status
 

Macro Definition Documentation

◆ _GNU_SOURCE

#define _GNU_SOURCE

◆ CLIENT_TOOL_VERBOSE_INIT_VAR

#define CLIENT_TOOL_VERBOSE_INIT_VAR   "OMP_TOOL_VERBOSE_INIT"

◆ OMPT_API_ROUTINE

#define OMPT_API_ROUTINE   static

◆ OMPT_STR_MATCH

#define OMPT_STR_MATCH (   haystack,
  needle 
)    (!strcasecmp(haystack, needle))

◆ OMPT_VERBOSE_INIT_PRINT

#define OMPT_VERBOSE_INIT_PRINT (   ...)
Value:
if (verbose_init) \
fprintf(verbose_file, __VA_ARGS__)

◆ OMPT_VERBOSE_INIT_CONTINUED_PRINT

#define OMPT_VERBOSE_INIT_CONTINUED_PRINT (   ...)
Value:
if (verbose_init) \
fprintf(verbose_file, __VA_ARGS__)

◆ OMPT_LOAD_CLIENT_FOREACH_OMPT_EVENT

#define OMPT_LOAD_CLIENT_FOREACH_OMPT_EVENT (   macro)

◆ ompt_event_macro [1/5]

#define ompt_event_macro (   event,
  callback,
  eventid 
)    callback ompt_##event

◆ ompt_event_macro [2/5]

#define ompt_event_macro (   event,
  callback,
  eventid 
)    int ompt_##event

◆ ompt_event_macro [3/5]

#define ompt_event_macro (   event_name,
  callback_type,
  event_id 
)
Value:
case ompt_##event_name: \
ompt_multiplex_own_callbacks.ompt_##event_name = (callback_type)callback; \
if (ompt_multiplex_implementation_status.ompt_##event_name == -1) \
return ompt_multiplex_implementation_status.ompt_##event_name = \
ompt_multiplex_set_callback( \
ompt_##event_name, \
(ompt_callback_t)&ompt_multiplex_##event_name); \
else \
return ompt_multiplex_implementation_status.ompt_##event_name
void(* ompt_callback_t)(void)
Definition: omp-tools.h:533
ompt_multiplex_callback_implementation_status_t ompt_multiplex_implementation_status
Definition: ompt-multiplex.h:202

◆ ompt_event_macro [4/5]

#define ompt_event_macro (   event_name,
  callback_type,
  event_id 
)
Value:
case ompt_##event_name: \
ompt_multiplex_client_callbacks.ompt_##event_name = \
(callback_type)callback; \
if (ompt_multiplex_implementation_status.ompt_##event_name == -1) \
return ompt_multiplex_implementation_status.ompt_##event_name = \
ompt_multiplex_set_callback( \
ompt_##event_name, \
(ompt_callback_t)&ompt_multiplex_##event_name); \
else \
return ompt_multiplex_implementation_status.ompt_##event_name

◆ ompt_event_macro [5/5]

#define ompt_event_macro (   event_name,
  callback_type,
  event_id 
)     ompt_multiplex_implementation_status.ompt_##event_name = -1

◆ ompt_start_tool

#define ompt_start_tool   ompt_multiplex_own_start_tool

Function Documentation

◆ setup_verbose_init()

void setup_verbose_init ( )

◆ ompt_multiplex_own_get_task_info()

int ompt_multiplex_own_get_task_info ( int  ancestor_level,
int *  type,
ompt_data_t **  task_data,
ompt_frame_t **  task_frame,
ompt_data_t **  parallel_data,
int *  thread_num 
)

◆ ompt_multiplex_client_get_task_info()

int ompt_multiplex_client_get_task_info ( int  ancestor_level,
int *  type,
ompt_data_t **  task_data,
ompt_frame_t **  task_frame,
ompt_data_t **  parallel_data,
int *  thread_num 
)

◆ ompt_multiplex_own_get_thread_data()

ompt_data_t * ompt_multiplex_own_get_thread_data ( )

◆ ompt_multiplex_client_get_thread_data()

ompt_data_t * ompt_multiplex_client_get_thread_data ( )

◆ ompt_multiplex_own_get_parallel_info()

int ompt_multiplex_own_get_parallel_info ( int  ancestor_level,
ompt_data_t **  parallel_data,
int *  team_size 
)

◆ ompt_multiplex_client_get_parallel_info()

int ompt_multiplex_client_get_parallel_info ( int  ancestor_level,
ompt_data_t **  parallel_data,
int *  team_size 
)

◆ ompt_multiplex_own_set_callback()

OMPT_API_ROUTINE int ompt_multiplex_own_set_callback ( ompt_callbacks_t  which,
ompt_callback_t  callback 
)

◆ ompt_multiplex_client_set_callback()

OMPT_API_ROUTINE int ompt_multiplex_client_set_callback ( ompt_callbacks_t  which,
ompt_callback_t  callback 
)

◆ ompt_multiplex_own_lookup()

ompt_interface_fn_t ompt_multiplex_own_lookup ( const char *  name)

◆ ompt_multiplex_client_lookup()

ompt_interface_fn_t ompt_multiplex_client_lookup ( const char *  name)

◆ ompt_multiplex_initialize()

int ompt_multiplex_initialize ( ompt_function_lookup_t  lookup,
int  initial_device_num,
ompt_data_t data 
)

◆ ompt_multiplex_finalize()

void ompt_multiplex_finalize ( ompt_data_t fns)

◆ ompt_start_tool()

DLB_EXPORT_SYMBOL ompt_start_tool_result_t * ompt_start_tool ( unsigned int  omp_version,
const char *  runtime_version 
)

Variable Documentation

◆ ompt_multiplex_own_fns

ompt_start_tool_result_t* ompt_multiplex_own_fns = NULL

◆ ompt_multiplex_client_fns

ompt_start_tool_result_t* ompt_multiplex_client_fns = NULL

◆ ompt_multiplex_lookup_function

ompt_function_lookup_t ompt_multiplex_lookup_function

◆ ompt_multiplex_own_callbacks

ompt_multiplex_callbacks_t ompt_multiplex_own_callbacks

◆ ompt_multiplex_client_callbacks

ompt_multiplex_callbacks_t ompt_multiplex_client_callbacks

◆ ompt_multiplex_implementation_status

ompt_multiplex_callback_implementation_status_t ompt_multiplex_implementation_status