SIONlib
1.7.1
Scalable I/O library for parallel access to task-local files
src
lib
sion_buddy_common.h
1
/****************************************************************************
2
** SIONLIB http://www.fz-juelich.de/jsc/sionlib **
3
*****************************************************************************
4
** Copyright (c) 2008-2016 **
5
** Forschungszentrum Juelich, Juelich Supercomputing Centre **
6
** **
7
** See the file COPYRIGHT in the package base directory for details **
8
****************************************************************************/
9
#ifndef SION_SION_BUDDY_COMMON
10
#define SION_SION_BUDDY_COMMON
11
12
/* TODO: KT --> dynamic list */
13
#define MAXREADSTEPS 10
14
15
#define _SION_BW_SCHED_NUM_PASSES 3
16
#define _SION_BW_SCHED_NOACTION 0
17
#define _SION_BW_SCHED_ACTIONA 1
18
#define _SION_BW_SCHED_ACTIONB 2
19
20
struct
_sion_generic_buddy_info_struct
{
21
int
rank;
22
int
size;
23
void
*commgroup;
24
int
sid;
25
int
collsize;
26
int
filelrank;
27
int
groupnum;
/* number of commgroup in overall numbering */
28
int
from_index;
29
int
to_index;
30
int
stepnum;
31
int
groupid;
32
int
myrole;
33
int
bnum;
/* number of buddy level (-1 ... NUM_BUDDIES) */
34
int
filenum;
/* number of multi file */
35
};
36
typedef
struct
_sion_generic_buddy_info_struct
_sion_generic_buddy_info
;
37
38
39
/* container describing a buddy cp */
40
struct
_sion_generic_buddy_struct
{
41
_sion_generic_buddy_info
buddy_coll;
42
_sion_generic_buddy_info
buddy_send;
43
int
numgroups;
44
int
numsteps;
45
int
currentgroup;
46
_sion_generic_buddy_info
*groups[MAXREADSTEPS];
47
};
48
typedef
struct
_sion_generic_buddy_struct
_sion_generic_buddy
;
49
50
char
* _sion_buddy_role_to_str (
unsigned
int
flag);
51
sion_io_stat_t
* sion_get_io_info_buddy(
int
sid,
int
roles,
int
flag);
52
53
54
#endif
_sion_generic_buddy_info_struct
Definition:
sion_buddy_common.h:20
_sion_io_stat_struct
Definition:
sion_common.h:158
_sion_generic_buddy_struct
Definition:
sion_buddy_common.h:40
Generated by
1.8.15