10 #ifndef SION_SION_GENERIC_H 11 #define SION_SION_GENERIC_H 136 void **local_commgroup,
void *global_commgroup,
int grank,
int gsize,
int lrank,
int lsize,
int filenumber,
int numfiles);
149 typedef int (*
sion_bcastr_cb)(
void *data,
void *commgroup,
int datatype,
int nelem,
int root);
157 typedef int (*
sion_gatherr_cb)(
void *indata,
void *outdata,
void *commgroup,
int datatype,
int nelem,
int root);
166 typedef int (*
sion_gathervr_cb)(
void *indata,
void *outdata,
void *commdata,
int datatype,
int *count,
int nelem,
int root);
174 typedef int (*
sion_scatterr_cb)(
void *indata,
void *outdata,
void *commgroup,
int datatype,
int nelem,
int root);
183 typedef int (*
sion_scattervr_cb)(
void *indata,
void *outdata,
void *commgroup,
int datatype,
int *count,
int nelem,
int root);
185 typedef char *(*sion_get_multi_filename_cb)(
const char *, int);
187 typedef int64_t (*sion_gather_execute_cb)(
const void *, int64_t,
void *, int, int, int, int,
188 int64_t process_cb(
const void *, int64_t *,
int),
void *,
bool spec_iterator_cb(
void *, int64_t *));
190 typedef int64_t (*sion_execute_scatter_cb)(
void *, int64_t,
void *, int, int, int, int,
191 int64_t process_cb(
void *, int64_t *,
int),
void *,
bool spec_iterator_cb(
void *, int64_t *));
193 typedef int (*sion_get_capability_cb)(
void *);
231 int sion_generic_register_get_multi_filename_cb(
int aid, sion_get_multi_filename_cb cb);
239 int sion_generic_register_get_capability_cb(
int aid, sion_get_capability_cb cb);
273 int sion_generic_paropen(
int aid,
const char *fname,
const char *file_mode, int64_t *chunksize, int32_t *fsblksize,
274 void *gcommgroup,
int grank,
int gsize,
int *filenumber,
int *numfiles,
const int *lrank,
const int *lsize, FILE **fileptr,
277 int sion_generic_parclose(
int sid);
305 int gsize,
int *nlocaltasks,
int **globalranks, int64_t **chunksizes,
int **mapping_filenrs,
int **mapping_lranks,
306 int32_t *fsblksize, FILE **fileptr);
308 int sion_generic_parclose_mapped(
int sid);
310 int sion_generic_parreinit(
int sid, int64_t chunksize);
486 size_t sion_coll_fwrite(
const void *data,
size_t size,
size_t nitems,
int sid);
487 size_t sion_coll_fread(
void *data,
size_t size,
size_t nitems,
int sid);
int(* sion_gatherr_cb)(void *indata, void *outdata, void *commgroup, int datatype, int nelem, int root)
performs a gather operation on all tasks described with commgroup (local or global)
int sion_generic_register_scatterr_cb(int aid, sion_scatterr_cb cb)
register callback for communication
int sion_generic_register_scattervr_cb(int aid, sion_scattervr_cb cb)
register callback for communication
int sion_generic_paropen(int aid, const char *fname, const char *file_mode, int64_t *chunksize, int32_t *fsblksize, void *gcommgroup, int grank, int gsize, int *filenumber, int *numfiles, const int *lrank, const int *lsize, FILE **fileptr, char **newfname)
Open a sion file a generic interface.
int(* sion_free_lcg_cb)(void *local_commgroup)
free data structure which local_commgroup points on
int sion_generic_register_free_local_commgroup_cb(int aid, sion_free_lcg_cb cb)
register callback to free local communication group
int(* sion_bcastr_cb)(void *data, void *commgroup, int datatype, int nelem, int root)
performs a broadcast operation from task root to all other tasks described with commgroup (local or g...
int sion_generic_create_api(char *name)
Create new api.
int sion_generic_register_barrier_cb(int aid, sion_barrier_cb cb)
register callback for communication
int sion_generic_free_api(int aip)
free new api
int sion_generic_register_gather_and_execute_cb(int aid, sion_gather_execute_cb cb)
register callback for communication
int(* sion_scatterr_cb)(void *indata, void *outdata, void *commgroup, int datatype, int nelem, int root)
performs a scatter operation on all tasks described with commgroup (local or global)
int sion_generic_register_gatherr_cb(int aid, sion_gatherr_cb cb)
register callback for communication
int sion_generic_register_gathervr_cb(int aid, sion_gathervr_cb cb)
register callback for communication
int sion_generic_register_bcastr_cb(int aid, sion_bcastr_cb cb)
register callback for communication
int sion_generic_paropen_mapped(int aid, char *fname, const char *file_mode, int *numFiles, void *gcommgroup, int grank, int gsize, int *nlocaltasks, int **globalranks, int64_t **chunksizes, int **mapping_filenrs, int **mapping_lranks, int32_t *fsblksize, FILE **fileptr)
int(* sion_scattervr_cb)(void *indata, void *outdata, void *commgroup, int datatype, int *count, int nelem, int root)
performs a scatter operation on all tasks described with commgroup (local or global)
int sion_generic_register_create_local_commgroup_cb(int aid, sion_create_lcg_cb cb)
register callback to create local communication group
int(* sion_barrier_cb)(void *commgroup)
performs a barrier on all tasks described with commgroup (local or global)
int(* sion_gathervr_cb)(void *indata, void *outdata, void *commdata, int datatype, int *count, int nelem, int root)
performs a gather operation on all tasks described with commdata (local or global)
int(* sion_create_lcg_cb)(void **local_commgroup, void *global_commgroup, int grank, int gsize, int lrank, int lsize, int filenumber, int numfiles)
creates data structures for local communication group
int sion_generic_register_execute_and_scatter_cb(int aid, sion_execute_scatter_cb cb)
register callback for communication