|  | SIONlib
    1.7.0
    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 "mpi.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.h"#include "sion_mpi.h"#include "sion_mpi_internal_gen.h"#include "sion_mpi_cb_gen.h"Go to the source code of this file.
| Functions | |
| int | sion_paropen_mpi (const char *fname, const char *file_mode, int *numFiles, MPI_Comm gComm, const MPI_Comm *lComm, sion_int64 *chunksize, sion_int32 *fsblksize, int *globalrank, FILE **fileptr, char **newfname) | 
| Open a sion file using MPI.  More... | |
| int | sion_parclose_mpi (int sid) | 
| Close a sion file using MPI.  More... | |
| int | sion_parreinit_mpi (int sid, sion_int64 chunksize) | 
| int | sion_paropen_mapped_mpi (char *fname, const char *file_mode, int *numFiles, MPI_Comm gComm, int *nlocaltasks, int **globalranks, sion_int64 **chunksizes, int **mapping_filenrs, int **mapping_lranks, sion_int32 *fsblksize, FILE **fileptr) | 
| int | sion_parclose_mapped_mpi (int sid) | 
| Variables | |
| int | _sion_mpi_api_aid = -1 | 
MPI Implementation
Definition in file sion_mpi_gen.c.
| int sion_parclose_mpi | ( | int | sid | ) | 
Close a sion file using MPI.
For more description please see the description of sion_parclose_mpi.
| [in] | sid | sion file handle | 
| success | value (SION_SUCCESS or SION_NOT_SUCCESS) | 
Definition at line 239 of file sion_mpi_gen.c.
Referenced by fsion_parclose_mpi_c().
| int sion_paropen_mpi | ( | const char * | fname, | 
| const char * | file_mode, | ||
| int * | numFiles, | ||
| MPI_Comm | gComm, | ||
| const MPI_Comm * | lComm, | ||
| sion_int64 * | chunksize, | ||
| sion_int32 * | fsblksize, | ||
| int * | globalrank, | ||
| FILE ** | fileptr, | ||
| char ** | newfname | ||
| ) | 
Open a sion file using MPI.
This function opens a sion file using MPI. It processes the MPI specific parts and then passes its arguments on to sion_generic_paropen().
For more description please see the description of sion_paropen_mpi.
| [in] | fname | name of file, should be equal on all tasks | 
| [in] | file_mode | like the type parameter of fopen. See file mode description for details | 
| [in,out] | numFiles | number of multi files to use (-1 for automatic choosing from local communicator) | 
| [in] | gComm | global MPI communicator (typically MPI_COMM_WORLD) | 
| [in] | lComm | local MPI communicator (= gComm if no adaption to I/O nodes is needed) lComm should be a partition of gComm, i.e. a disjoint cover | 
| [in,out] | chunksize | maximum size to be written with single write call | 
| [in,out] | fsblksize | file system block size. Must be equal on all processes (-1 for automatic) | 
| [in,out] | globalrank | global rank of process any globally unique id for current task. It will be stored in sion file. Useful if comm is not MPI_COMM_WORLD (typically: globalrank = rank in MPI_COMM_WORLD) | 
| [out] | fileptr | file pointer (NULL for not using an external which allows for more optimisation) | 
| [out] | newfname | return value for actual file name if using multi files. NULL does not return the name. If passed non NULL pointer the memory needs to be freed by the user. | 
| sid | sion file handle or -1 if error occurred | 
Definition at line 83 of file sion_mpi_gen.c.
Referenced by fsion_paropen_mpi_c().
 1.8.15
 1.8.15