Dynamic Load Balance 3.7.0
omptm_role_shift.h
Go to the documentation of this file.
1/*********************************************************************************/
2/* Copyright 2009-2024 Barcelona Supercomputing Center */
3/* */
4/* This file is part of the DLB library. */
5/* */
6/* DLB is free software: you can redistribute it and/or modify */
7/* it under the terms of the GNU Lesser General Public License as published by */
8/* the Free Software Foundation, either version 3 of the License, or */
9/* (at your option) any later version. */
10/* */
11/* DLB is distributed in the hope that it will be useful, */
12/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
13/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
14/* GNU Lesser General Public License for more details. */
15/* */
16/* You should have received a copy of the GNU Lesser General Public License */
17/* along with DLB. If not, see <https://www.gnu.org/licenses/>. */
18/*********************************************************************************/
19
20#ifndef OMPTM_ROLE_SHIFT_H
21#define OMPTM_ROLE_SHIFT_H
22
25#include "support/options.h"
26
28
29void omptm_role_shift__init(pid_t process_id, const options_t *options);
33
35
37 ompt_data_t *thread_data,
38 ompt_role_t prior_role,
39 ompt_role_t next_role);
40
46
48
49/* Functions for testing purposes */
53void omptm_role_shift_testing__set_pending_tasks(unsigned int num_tasks);
58
59typedef struct CPU_Data cpu_data_t;
62
63#endif /* OMPTM_ROLE_SHIFT_H */
ompt_role_t
Definition: omp-tools.h:255
ompt_thread_t
Definition: omp-tools.h:281
int omptm_role_shift_testing__get_id_from_cpu(int cpuid)
Definition: omptm_role_shift.c:484
const omptool_event_funcs_t omptm_role_shift_events_vtable
Definition: omptm_role_shift.c:432
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
cpu_data_t * omptm_role_shift_testing__get_cpu_data_ptr(void)
Definition: omptm_role_shift.c:492
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
int omptm_role_shift_testing__get_num_free_agents(void)
Definition: omptm_role_shift.c:456
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
unsigned int omptm_role_shift_testing__get_pending_tasks(void)
Definition: omptm_role_shift.c:472
int omptm_role_shift_testing__get_current_parallel_size(void)
Definition: omptm_role_shift.c:464
bool omptm_role_shift_testing__in_parallel(void)
Definition: omptm_role_shift.c:480
void omptm_role_shift_testing__set_global_tid(int tid)
Definition: omptm_role_shift.c:476
void omptm_role_shift_testing__set_pending_tasks(unsigned int num_tasks)
Definition: omptm_role_shift.c:468
int omptm_role_shift_testing__get_num_registered_threads(void)
Definition: omptm_role_shift.c:460
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
int * omptm_role_shift_testing__get_cpu_by_id_ptr(void)
Definition: omptm_role_shift.c:488
Definition: omptm_free_agents.c:173
Definition: omptool.h:66
Definition: omptool.h:50
Definition: options.h:30
Definition: omp-tools.h:521