Dynamic Load Balance 3.6.1+32-59d1
shmem_talp.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 SHMEM_TALP_H
21#define SHMEM_TALP_H
22
23#include <sys/types.h>
24#include <stdbool.h>
25#include <stdint.h>
26
27typedef struct talp_region_list_t {
28 pid_t pid;
30 int_least64_t mpi_time;
31 int_least64_t useful_time;
32 float avg_cpus;
34
35/* Init */
36int shmem_talp__init(const char *shmem_key, int shmem_size_multiplier);
37int shmem_talp_ext__init(const char *shmem_key, int shmem_size_multiplier);
38
39/* Finalize */
40int shmem_talp__finalize(pid_t pid);
42
43/* Register */
44int shmem_talp__register(pid_t pid, float avg_cpus, const char *name, int *node_shared_id);
45
46/* Getters */
47int shmem_talp__get_pidlist(pid_t *pidlist, int *nelems, int max_len);
48int shmem_talp__get_region(talp_region_list_t *region, pid_t pid, const char *name);
49int shmem_talp__get_regionlist(talp_region_list_t *region_list, int *nelems,
50 int max_len, const char *name);
51int shmem_talp__get_times(int region_id, int64_t *mpi_time, int64_t *useful_time);
52
53/* Setters */
54int shmem_talp__set_times(int region_id, int64_t mpi_time, int64_t useful_time);
55int shmem_talp__set_avg_cpus(int region_id, float avg_cpus);
56
57/* Misc */
58void shmem_talp__print_info(const char *shmem_key, int shmem_size_multiplier);
59bool shmem_talp__exists(void);
61int shmem_talp__version(void);
62size_t shmem_talp__size(void);
65
66#endif /* SHMEM_TALP_H */
int shmem_talp__get_num_regions(void)
Definition: shmem_talp.c:528
int shmem_talp__get_regionlist(talp_region_list_t *region_list, int *nelems, int max_len, const char *name)
Definition: shmem_talp.c:332
int shmem_talp_ext__init(const char *shmem_key, int shmem_size_multiplier)
Definition: shmem_talp.c:169
int shmem_talp__get_max_regions(void)
Definition: shmem_talp.c:524
int shmem_talp__set_avg_cpus(int region_id, float avg_cpus)
Definition: shmem_talp.c:397
bool shmem_talp__initialized(void)
Definition: shmem_talp.c:509
int shmem_talp__version(void)
Definition: shmem_talp.c:513
int shmem_talp__finalize(pid_t pid)
Definition: shmem_talp.c:178
int shmem_talp__set_times(int region_id, int64_t mpi_time, int64_t useful_time)
Definition: shmem_talp.c:382
int shmem_talp__register(pid_t pid, float avg_cpus, const char *name, int *node_shared_id)
Definition: shmem_talp.c:223
int shmem_talp__init(const char *shmem_key, int shmem_size_multiplier)
Definition: shmem_talp.c:132
void shmem_talp__print_info(const char *shmem_key, int shmem_size_multiplier)
Definition: shmem_talp.c:416
int shmem_talp__get_pidlist(pid_t *pidlist, int *nelems, int max_len)
Definition: shmem_talp.c:271
size_t shmem_talp__size(void)
Definition: shmem_talp.c:517
int shmem_talp__get_region(talp_region_list_t *region, pid_t pid, const char *name)
Definition: shmem_talp.c:303
bool shmem_talp__exists(void)
Definition: shmem_talp.c:505
int shmem_talp__get_times(int region_id, int64_t *mpi_time, int64_t *useful_time)
Definition: shmem_talp.c:362
int shmem_talp_ext__finalize(void)
Definition: shmem_talp.c:204
Definition: shmem_talp.h:27
int_least64_t useful_time
Definition: shmem_talp.h:31
int region_id
Definition: shmem_talp.h:29
int_least64_t mpi_time
Definition: shmem_talp.h:30
float avg_cpus
Definition: shmem_talp.h:32
pid_t pid
Definition: shmem_talp.h:28