Dynamic Load Balance 3.6.1+32-59d1
shmem_async.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_ASYNC_H
21#define SHMEM_ASYNC_H
22
23#include <sched.h>
24#include <sys/types.h>
25
26struct pm_interface;
27
28int shmem_async_init(pid_t pid, const struct pm_interface *pm,
29 const cpu_set_t *process_mask, const char *shmem_key,
30 int shmem_size_multiplier);
31int shmem_async_finalize(pid_t pid);
32
33void shmem_async_enable_cpu(pid_t pid, int cpuid);
34void shmem_async_enable_cpu_set(pid_t pid, const cpu_set_t *cpu_set);
35void shmem_async_disable_cpu(pid_t pid, int cpuid);
36void shmem_async_disable_cpu_set(pid_t pid, const cpu_set_t *cpu_set);
37void shmem_async_set_num_cpus(pid_t pid, int ncpus);
38
39int shmem_async__version(void);
40size_t shmem_async__size(void);
41
43
44#endif /* SHMEM_ASYNC_H */
int shmem_async_finalize(pid_t pid)
Definition: shmem_async.c:323
void shmem_async_disable_cpu(pid_t pid, int cpuid)
Definition: shmem_async.c:379
int shmem_async_init(pid_t pid, const struct pm_interface *pm, const cpu_set_t *process_mask, const char *shmem_key, int shmem_size_multiplier)
int shmem_async__version(void)
Definition: shmem_async.c:407
void shmem_async_wait_for_completion(pid_t pid)
Definition: shmem_async.c:419
void shmem_async_enable_cpu(pid_t pid, int cpuid)
Definition: shmem_async.c:360
void shmem_async_set_num_cpus(pid_t pid, int ncpus)
Definition: shmem_async.c:398
void shmem_async_disable_cpu_set(pid_t pid, const cpu_set_t *cpu_set)
Definition: shmem_async.c:388
size_t shmem_async__size(void)
Definition: shmem_async.c:410
void shmem_async_enable_cpu_set(pid_t pid, const cpu_set_t *cpu_set)
Definition: shmem_async.c:369