SIONlib  1.7.1
Scalable I/O library for parallel access to task-local files
sion_generic_internal.h
Go to the documentation of this file.
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 
14 #ifndef SION_SION_GENERIC_INTERNAL
15 #define SION_SION_GENERIC_INTERNAL
16 
17 #include "sion_buddy_common.h"
18 #include "sion_generic_apidesc.h"
19 #include "sion_flags.h"
20 
21 
22 #define _SION_INTERNAL_FLAG_NORMAL 1
23 #define _SION_INTERNAL_FLAG_BUDDY_NORMAL 2
24 #define _SION_INTERNAL_FLAG_BUDDY_SEND 4
25 #define _SION_INTERNAL_FLAG_BUDDY_COLL 8
26 #define _SION_INTERNAL_FLAG_BUDDY_READ 16
27 #define _SION_INTERNAL_FLAG_UNKNOWN 32
28 
29 /* internal interface routines, containing parallel functionality (e.g. meta data management) */
31  int sid,
32  char *fname,
33  _sion_flags_store *flags_store,
34  char *prefix,
35  int *numFiles,
36  int *filenumber,
37  sion_int64 *chunksize,
38  sion_int32 *fsblksize,
39  int rank,
40  int ntasks,
41  int *globalrank,
42  int flag,
43  FILE **fileptr,
44  _sion_generic_gendata *sion_gendata,
45  _sion_generic_buddy *buddy_info);
46 
47 int _sion_parclose_generic(int sid,
48  int rank,
49  int ntasks,
50  int mapping_size,
51  sion_int32 *mapping,
52  int flag,
53  _sion_generic_gendata *sion_gendata,
54  _sion_generic_buddy *buddy_info);
55 
57  int sid,
58  sion_int64 chunksize,
59  int rank,
60  int ntasks,
61  _sion_generic_gendata *sion_gendata);
62 
63 /* internal functions */
64 int _sion_generic_get_and_distribute_info_from_file( _sion_generic_gendata *sion_gendata, const char *fname);
65 int _sion_generic_collect_mapping( _sion_filedesc *sion_filedesc,
66  int *mapping_size,
67  sion_int32 **mapping );
68 
69 
70 #endif
Sion File Descriptor Structure.
Definition: sion_filedesc.h:77
int _sion_parreinit_generic(int sid, sion_int64 chunksize, int rank, int ntasks, _sion_generic_gendata *sion_gendata)
change chunksize for an already opened SION file (write)
int _sion_parclose_generic(int sid, int rank, int ntasks, int mapping_size, sion_int32 *mapping, int flag, _sion_generic_gendata *sion_gendata, _sion_generic_buddy *buddy_info)
Internal function to close parallel opened SION file.
int _sion_paropen_generic_one_file(int sid, char *fname, _sion_flags_store *flags_store, char *prefix, int *numFiles, int *filenumber, sion_int64 *chunksize, sion_int32 *fsblksize, int rank, int ntasks, int *globalrank, int flag, FILE **fileptr, _sion_generic_gendata *sion_gendata, _sion_generic_buddy *buddy_info)
Generic parallel open of one direct access file.