Dynamic Load Balance 3.6.1+32-59d1
omptm_free_agents.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_FREE_AGENTS_H
21#define OMPTM_FREE_AGENTS_H
22
25#include "support/options.h"
26
28
29void omptm_free_agents__init(pid_t process_id, const options_t *options);
33
38 omptool_parallel_data_t *parallel_data, unsigned int index);
42
44
45/* Functions for testing purposes */
48void omptm_free_agents_testing__set_pending_tasks(unsigned int num_tasks);
59
60#endif /* OMPTM_FREE_AGENTS_H */
ompt_thread_t
Definition: omp-tools.h:281
void omptm_free_agents__parallel_begin(omptool_parallel_data_t *parallel_data)
Definition: omptm_free_agents.c:562
int omptm_free_agents_testing__get_free_agent_cpuid_by_id(int thread_id)
Definition: omptm_free_agents.c:781
bool omptm_free_agents_testing__check_cpu_idle(int cpuid)
Definition: omptm_free_agents.c:757
int omptm_free_agents_testing__get_free_agent_id_by_cpuid(int cpuid)
Definition: omptm_free_agents.c:777
void omptm_free_agents_testing__acquire_one_free_agent(void)
Definition: omptm_free_agents.c:745
void omptm_free_agents__task_create(void)
Definition: omptm_free_agents.c:657
const omptool_event_funcs_t omptm_free_agents_events_vtable
Definition: omptm_free_agents.c:709
void omptm_free_agents__IntoBlockingCall(void)
Definition: omptm_free_agents.c:461
void omptm_free_agents_testing__set_free_agent_id(int id)
Definition: omptm_free_agents.c:737
void omptm_free_agents__into_parallel_function(omptool_parallel_data_t *parallel_data, unsigned int index)
Definition: omptm_free_agents.c:627
void omptm_free_agents_testing__set_pending_tasks(unsigned int num_tasks)
Definition: omptm_free_agents.c:741
void omptm_free_agents__init(pid_t process_id, const options_t *options)
Definition: omptm_free_agents.c:373
bool omptm_free_agents_testing__check_cpu_free_agent_enabled(int cpuid)
Definition: omptm_free_agents.c:761
bool omptm_free_agents_testing__check_cpu_in_parallel(int cpuid)
Definition: omptm_free_agents.c:753
int omptm_free_agents_testing__get_free_agent_binding(int cpuid)
Definition: omptm_free_agents.c:773
void omptm_free_agents__task_complete(void)
Definition: omptm_free_agents.c:667
void omptm_free_agents__OutOfBlockingCall(void)
Definition: omptm_free_agents.c:493
void omptm_free_agents__task_switch(void)
Definition: omptm_free_agents.c:698
int omptm_free_agents_testing__get_free_agent_cpu(int thread_id)
Definition: omptm_free_agents.c:769
void omptm_free_agents__thread_begin(ompt_thread_t thread_type)
Definition: omptm_free_agents.c:524
void omptm_free_agents_testing__set_worker_binding(int cpuid)
Definition: omptm_free_agents.c:733
void omptm_free_agents__finalize(void)
Definition: omptm_free_agents.c:447
void omptm_free_agents__parallel_end(omptool_parallel_data_t *parallel_data)
Definition: omptm_free_agents.c:610
int omptm_free_agents_testing__get_num_enabled_free_agents(void)
Definition: omptm_free_agents.c:765
bool omptm_free_agents_testing__in_parallel(void)
Definition: omptm_free_agents.c:749
Definition: omptool.h:66
Definition: omptool.h:50
Definition: options.h:30