SIONlib
1.7.7
Scalable I/O library for parallel access to task-local files
|
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <time.h>
#include <sys/time.h>
#include <sys/types.h>
#include <fcntl.h>
#include <unistd.h>
#include "sion.h"
#include "sion_debug.h"
#include "sion_error_handler.h"
#include "sion_internal.h"
#include "sion_fd.h"
#include "sion_filedesc.h"
#include "sion_printts.h"
#include "sion_flags.h"
#include "sion_generic_internal.h"
#include "sion_generic_apidesc.h"
#include "sion_generic_mapped.h"
#include "sion_generic_buddy.h"
#include "sion_generic.h"
Go to the source code of this file.
Macros | |
#define | _XOPEN_SOURCE 700 |
Functions | |
int | sion_generic_create_api (char *name) |
int | sion_generic_free_api (int aid) |
int | sion_generic_register_create_local_commgroup_cb (int aid, int create_lcg_cb(void **, void *, int, int, int, int, int, int)) |
int | sion_generic_register_free_local_commgroup_cb (int aid, int free_lcg_cb(void *)) |
int | sion_generic_register_barrier_cb (int aid, int barrier_cb(void *)) |
int | sion_generic_register_bcastr_cb (int aid, int bcastr_cb(void *, void *, int, int, int)) |
int | sion_generic_register_gatherr_cb (int aid, int gatherr_cb(void *, void *, void *, int, int, int)) |
int | sion_generic_register_gathervr_cb (int aid, int gathervr_cb(void *, void *, void *, int, int *, int, int)) |
int | sion_generic_register_scatterr_cb (int aid, int scatterr_cb(void *, void *, void *, int, int, int)) |
int | sion_generic_register_scattervr_cb (int aid, int scattervr_cb(void *, void *, void *, int, int *, int, int)) |
int | sion_generic_register_gather_and_execute_cb (int aid, int gather_execute_cb(const void *, sion_int64 *, int, sion_int64, void *, int, int, int, int, int process_cb(const void *, sion_int64 *, int))) |
int | sion_generic_register_execute_and_scatter_cb (int aid, int execute_scatter_cb(void *, sion_int64 *, int, sion_int64, void *, int, int, int, int, int process_cb(void *, sion_int64 *, int))) |
int | sion_generic_register_get_multi_filename_cb (int aid, char *get_multi_filename_cb(const char *, int)) |
int | sion_generic_register_get_capability_cb (int aid, int get_capability_cb(void *)) |
int | sion_generic_paropen (int aid, const char *fname, const char *file_mode, sion_int64 *chunksize, sion_int32 *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. More... | |
int | sion_generic_parclose (int sid) |
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, sion_int64 **chunksizes, int **mapping_filenrs, int **mapping_lranks, sion_int32 *fsblksize, FILE **fileptr) |
int | sion_generic_parclose_mapped (int sid) |
int | _sion_generic_get_and_distribute_info_from_file (_sion_generic_gendata *sion_gendata, const char *fname) |
int | sion_generic_parreinit (int sid, sion_int64 chunksize) |
Generic API Generic API
Definition in file sion_generic.c.
int sion_generic_paropen | ( | int | aid, |
const char * | fname, | ||
const char * | file_mode, | ||
sion_int64 * | chunksize, | ||
sion_int32 * | 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.
For a description please see the description of sion_paropen_mpi.
[in] | aid | sion API id |
[in] | fname | name of file, should be equal on all tasks |
[in] | file_mode | like the type parameter of fopen (currently recognized options: "rb", "wb") |
[in,out] | chunksize | maximum size to be written with single write call |
[in,out] | fsblksize | file system block size (-1 for automatic) |
[in] | gcommgroup | global communicator |
[in] | grank | global rank of process |
[in] | gsize | size of global communicator |
[in,out] | filenumber | file number (for multiple file mode) |
[in,out] | numfiles | number of files to use (-1 for automatic choosing from local communicator) |
[in] | lrank | local rank of process |
[in] | lsize | size of local communicator |
[in,out] | fileptr | file pointer (NULL for not using an external file pointer) |
[out] | newfname | return value for actual file name if using multiple files |
sid | sion file handle or -1 if error occured |
Definition at line 351 of file sion_generic.c.