42 строки
1019 B
C
42 строки
1019 B
C
|
/*
|
||
|
* Copyright (c) 2013 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
|
||
|
#define ABORT_ON_CACHE_OVERFLOW 1
|
||
|
BEGIN_C_DECLS
|
||
|
struct oshmem_group_cache_t {
|
||
|
opal_list_item_t item;
|
||
|
oshmem_group_t *group;
|
||
|
int cache_id[3];
|
||
|
};
|
||
|
|
||
|
typedef struct oshmem_group_cache_t oshmem_group_cache_t;
|
||
|
OSHMEM_DECLSPEC OBJ_CLASS_DECLARATION(oshmem_group_cache_t);
|
||
|
OSHMEM_DECLSPEC extern opal_list_t oshmem_group_cache_list;
|
||
|
|
||
|
oshmem_group_t* find_group_in_cache(int PE_start, int logPE_stride, int PE_size);
|
||
|
|
||
|
int cache_group(oshmem_group_t *group,
|
||
|
int PE_start,
|
||
|
int logPE_stride,
|
||
|
int PE_size);
|
||
|
int oshmem_group_cache_list_init(void);
|
||
|
int oshmem_group_cache_list_free(void);
|
||
|
|
||
|
extern unsigned int oshmem_group_cache_size;
|
||
|
END_C_DECLS
|
||
|
|
||
|
#endif
|