SIONlib  1.7.0
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_generic_apidesc.h"
18 #include "sion_flags.h"
19 
20 
21 #define _SION_INTERNAL_FLAG_NORMAL 1
22 #define _SION_INTERNAL_FLAG_BUDDY_NORMAL 2
23 #define _SION_INTERNAL_FLAG_BUDDY_SEND 4
24 #define _SION_INTERNAL_FLAG_BUDDY_COLL 8
25 #define _SION_INTERNAL_FLAG_BUDDY_READ 16
26 #define _SION_INTERNAL_FLAG_UNKNOWN 32
27 
28 /* internal interface routines, containing parallel functionality (e.g. meta data management) */
30  int sid,
31  char *fname,
32  _sion_flags_store *flags_store,
33  char *prefix,
34  int *numFiles,
35  int *filenumber,
36  sion_int64 *chunksize,
37  sion_int32 *fsblksize,
38  int rank,
39  int ntasks,
40  int *globalrank,
41  int flag,
42  FILE **fileptr,
43  _sion_generic_gendata *sion_gendata,
44  _sion_generic_buddy *buddy_info);
45 
46 int _sion_parclose_generic(int sid,
47  int rank,
48  int ntasks,
49  int mapping_size,
50  sion_int32 *mapping,
51  int flag,
52  _sion_generic_gendata *sion_gendata,
53  _sion_generic_buddy *buddy_info);
54 
56  int sid,
57  sion_int64 chunksize,
58  int rank,
59  int ntasks,
60  _sion_generic_gendata *sion_gendata);
61 
62 /* internal functions */
63 int _sion_generic_get_and_distribute_info_from_file( _sion_generic_gendata *sion_gendata, const char *fname);
64 int _sion_generic_collect_mapping( _sion_filedesc *sion_filedesc,
65  int *mapping_size,
66  sion_int32 **mapping );
67 
68 
69 #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.