Dynamic Load Balance 3.7.0
Data Structures | Enumerations | Functions | Variables
omptm_role_shift.c File Reference
#include "LB_numThreads/omptm_role_shift.h"
#include "apis/dlb.h"
#include "support/atomic.h"
#include "support/debug.h"
#include "support/mask_utils.h"
#include "support/tracing.h"
#include "LB_comm/shmem_cpuinfo.h"
#include "LB_comm/shmem_procinfo.h"
#include "LB_core/spd.h"
#include "LB_numThreads/omptool.h"
#include <sched.h>
#include <unistd.h>
#include <string.h>
#include <pthread.h>
#include <inttypes.h>
Include dependency graph for omptm_role_shift.c:

Data Structures

struct  cpu_data_t
 

Enumerations

enum  cpu_status_t { OWN = 0 , UNKNOWN = 1 << 0 , LENT = 1 << 1 , BORROWED = 1 << 2 }
 

Functions

int __kmp_get_num_threads_role (ompt_role_t r) __attribute__((weak))
 
int __kmp_get_thread_roles (int tid, ompt_role_t *r) __attribute((weak))
 
void __kmp_set_thread_roles1 (int how_many, ompt_role_t r) __attribute((weak))
 
void __kmp_set_thread_roles2 (int tid, ompt_role_t r) __attribute((weak))
 
int __kmp_get_thread_id (void)
 
void omptm_role_shift__init (pid_t process_id, const options_t *options)
 
void omptm_role_shift__finalize (void)
 
void omptm_role_shift__IntoBlockingCall (void)
 
void omptm_role_shift__OutOfBlockingCall (void)
 
void omptm_role_shift__thread_begin (ompt_thread_t thread_type)
 
void omptm_role_shift__thread_role_shift (ompt_data_t *thread_data, ompt_role_t prior_role, ompt_role_t next_role)
 
void omptm_role_shift__parallel_begin (omptool_parallel_data_t *parallel_data)
 
void omptm_role_shift__parallel_end (omptool_parallel_data_t *parallel_data)
 
void omptm_role_shift__task_create (void)
 
void omptm_role_shift__task_complete (void)
 
void omptm_role_shift__task_switch (void)
 
int omptm_role_shift_testing__get_num_free_agents (void)
 
int omptm_role_shift_testing__get_num_registered_threads (void)
 
int omptm_role_shift_testing__get_current_parallel_size (void)
 
void omptm_role_shift_testing__set_pending_tasks (unsigned int num_tasks)
 
unsigned int omptm_role_shift_testing__get_pending_tasks (void)
 
void omptm_role_shift_testing__set_global_tid (int tid)
 
bool omptm_role_shift_testing__in_parallel (void)
 
int omptm_role_shift_testing__get_id_from_cpu (int cpuid)
 
int * omptm_role_shift_testing__get_cpu_by_id_ptr (void)
 
cpu_data_tomptm_role_shift_testing__get_cpu_data_ptr (void)
 

Variables

__thread int global_tid = -1
 
const omptool_event_funcs_t omptm_role_shift_events_vtable
 

Enumeration Type Documentation

◆ cpu_status_t

Enumerator
OWN 
UNKNOWN 
LENT 
BORROWED 

Function Documentation

◆ __kmp_get_num_threads_role()

int __kmp_get_num_threads_role ( ompt_role_t  r)

◆ __kmp_get_thread_roles()

int __kmp_get_thread_roles ( int  tid,
ompt_role_t r 
)

◆ __kmp_set_thread_roles1()

void __kmp_set_thread_roles1 ( int  how_many,
ompt_role_t  r 
)

◆ __kmp_set_thread_roles2()

void __kmp_set_thread_roles2 ( int  tid,
ompt_role_t  r 
)

◆ __kmp_get_thread_id()

int __kmp_get_thread_id ( void  )

◆ omptm_role_shift__init()

void omptm_role_shift__init ( pid_t  process_id,
const options_t options 
)

◆ omptm_role_shift__finalize()

void omptm_role_shift__finalize ( void  )

◆ omptm_role_shift__IntoBlockingCall()

void omptm_role_shift__IntoBlockingCall ( void  )

◆ omptm_role_shift__OutOfBlockingCall()

void omptm_role_shift__OutOfBlockingCall ( void  )

◆ omptm_role_shift__thread_begin()

void omptm_role_shift__thread_begin ( ompt_thread_t  thread_type)

◆ omptm_role_shift__thread_role_shift()

void omptm_role_shift__thread_role_shift ( ompt_data_t thread_data,
ompt_role_t  prior_role,
ompt_role_t  next_role 
)

◆ omptm_role_shift__parallel_begin()

void omptm_role_shift__parallel_begin ( omptool_parallel_data_t parallel_data)

◆ omptm_role_shift__parallel_end()

void omptm_role_shift__parallel_end ( omptool_parallel_data_t parallel_data)

◆ omptm_role_shift__task_create()

void omptm_role_shift__task_create ( void  )

◆ omptm_role_shift__task_complete()

void omptm_role_shift__task_complete ( void  )

◆ omptm_role_shift__task_switch()

void omptm_role_shift__task_switch ( void  )

◆ omptm_role_shift_testing__get_num_free_agents()

int omptm_role_shift_testing__get_num_free_agents ( void  )

◆ omptm_role_shift_testing__get_num_registered_threads()

int omptm_role_shift_testing__get_num_registered_threads ( void  )

◆ omptm_role_shift_testing__get_current_parallel_size()

int omptm_role_shift_testing__get_current_parallel_size ( void  )

◆ omptm_role_shift_testing__set_pending_tasks()

void omptm_role_shift_testing__set_pending_tasks ( unsigned int  num_tasks)

◆ omptm_role_shift_testing__get_pending_tasks()

unsigned int omptm_role_shift_testing__get_pending_tasks ( void  )

◆ omptm_role_shift_testing__set_global_tid()

void omptm_role_shift_testing__set_global_tid ( int  tid)

◆ omptm_role_shift_testing__in_parallel()

bool omptm_role_shift_testing__in_parallel ( void  )

◆ omptm_role_shift_testing__get_id_from_cpu()

int omptm_role_shift_testing__get_id_from_cpu ( int  cpuid)

◆ omptm_role_shift_testing__get_cpu_by_id_ptr()

int * omptm_role_shift_testing__get_cpu_by_id_ptr ( void  )

◆ omptm_role_shift_testing__get_cpu_data_ptr()

cpu_data_t * omptm_role_shift_testing__get_cpu_data_ptr ( void  )

Variable Documentation

◆ global_tid

__thread int global_tid = -1

◆ omptm_role_shift_events_vtable

const omptool_event_funcs_t omptm_role_shift_events_vtable
Initial value:
.lend_from_api = NULL,
.thread_end = NULL,
.into_parallel_function = NULL,
.outof_parallel_function = NULL,
.into_parallel_implicit_barrier = NULL,
}
void omptm_role_shift__thread_role_shift(ompt_data_t *thread_data, ompt_role_t prior_role, ompt_role_t next_role)
Definition: omptm_role_shift.c:329
void omptm_role_shift__parallel_begin(omptool_parallel_data_t *parallel_data)
Definition: omptm_role_shift.c:358
void omptm_role_shift__task_complete(void)
Definition: omptm_role_shift.c:388
void omptm_role_shift__parallel_end(omptool_parallel_data_t *parallel_data)
Definition: omptm_role_shift.c:365
void omptm_role_shift__thread_begin(ompt_thread_t thread_type)
Definition: omptm_role_shift.c:279
void omptm_role_shift__finalize(void)
Definition: omptm_role_shift.c:215
void omptm_role_shift__OutOfBlockingCall(void)
Definition: omptm_role_shift.c:259
void omptm_role_shift__task_create(void)
Definition: omptm_role_shift.c:371
void omptm_role_shift__IntoBlockingCall(void)
Definition: omptm_role_shift.c:227
void omptm_role_shift__init(pid_t process_id, const options_t *options)
Definition: omptm_role_shift.c:154
void omptm_role_shift__task_switch(void)
Definition: omptm_role_shift.c:417
Definition: omptool.h:66