File: proc_group_cache.h

package info (click to toggle)
openmpi 5.0.8-3
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 201,692 kB
  • sloc: ansic: 613,078; makefile: 42,353; sh: 11,194; javascript: 9,244; f90: 7,052; java: 6,404; perl: 5,179; python: 1,859; lex: 740; fortran: 61; cpp: 20; tcl: 12
file content (45 lines) | stat: -rw-r--r-- 944 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*
 * Copyright (c) 2013-2018 Mellanox Technologies, Inc.
 *                         All rights reserved.
 * $COPYRIGHT$
 *
 * Additional copyrights may follow
 *
 * $HEADER$
 */
#ifndef _PROC_GROUP_CACHE_H
#define _PROC_GROUP_CACHE_H

#include "oshmem_config.h"
#include "proc.h"

#define OSHMEM_GROUP_CACHE_ENABLED 1

BEGIN_C_DECLS

/**
 * A group cache.
 *
 * Deletion of a group is not implemented because it
 * requires a synchronization between PEs
 *
 * If cache enabled every group is kept until the
 * shmem_finalize() is called
 */

int oshmem_group_cache_init(void);
void oshmem_group_cache_destroy(void);

oshmem_group_t* oshmem_group_cache_find(int pe_start, int pe_stride, int pe_size);

int oshmem_group_cache_insert(oshmem_group_t *group, int pe_start,
                              int pe_stride, int pe_size);

static inline int oshmem_group_cache_enabled(void)
{
    return OSHMEM_GROUP_CACHE_ENABLED;
}

END_C_DECLS

#endif