Dynamic Load Balance 3.6.1+32-59d1
shmem_barrier.h
Go to the documentation of this file.
1/*********************************************************************************/
2/* Copyright 2009-2022 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_BARRIER_H
21#define SHMEM_BARRIER_H
22
23#include <stddef.h>
24#include <stdbool.h>
25
26enum { BARRIER_NAME_MAX = 32 };
27
28typedef struct barrier_t barrier_t;
29
30int shmem_barrier__init(const char *shmem_key, int shmem_size_multiplier);
31void shmem_barrier__finalize(const char *shmem_key, int shmem_size_multiplier);
34barrier_t* shmem_barrier__find(const char *barrier_name);
35barrier_t* shmem_barrier__register(const char *barrier_name, bool lewi);
39
40void shmem_barrier__print_info(const char *shmem_key, int shmem_size_multiplier);
41bool shmem_barrier__exists(void);
43size_t shmem_barrier__size(void);
44
45#endif /* SHMEM_BARRIER_H */
int shmem_barrier__detach(barrier_t *barrier)
Definition: shmem_barrier.c:379
int shmem_barrier__get_num_barriers(void)
Definition: shmem_barrier.c:184
barrier_t * shmem_barrier__register(const char *barrier_name, bool lewi)
Definition: shmem_barrier.c:225
void shmem_barrier__finalize(const char *shmem_key, int shmem_size_multiplier)
Definition: shmem_barrier.c:147
void shmem_barrier__barrier(barrier_t *barrier)
Definition: shmem_barrier.c:456
int shmem_barrier__attach(barrier_t *barrier)
Definition: shmem_barrier.c:337
int shmem_barrier__get_max_barriers(void)
Definition: shmem_barrier.c:178
int shmem_barrier__version(void)
Definition: shmem_barrier.c:575
bool shmem_barrier__exists(void)
Definition: shmem_barrier.c:571
@ BARRIER_NAME_MAX
Definition: shmem_barrier.h:26
barrier_t * shmem_barrier__find(const char *barrier_name)
Definition: shmem_barrier.c:204
size_t shmem_barrier__size(void)
Definition: shmem_barrier.c:579
int shmem_barrier__init(const char *shmem_key, int shmem_size_multiplier)
Definition: shmem_barrier.c:104
void shmem_barrier__print_info(const char *shmem_key, int shmem_size_multiplier)
Definition: shmem_barrier.c:520
Definition: shmem_barrier.c:46
pthread_barrier_t barrier
Definition: shmem_barrier.c:52