![]() |
SIONlib
1.7.7
Scalable I/O library for parallel access to task-local files
|
Internal Functions(parallel) More...
#include <stdlib.h>#include <stdio.h>#include <string.h>#include <unistd.h>#include "sion.h"#include "sion_debug.h"#include "sion_error_handler.h"#include "sion_file.h"#include "sion_filedesc.h"#include "sion_fd.h"#include "sion_metadata.h"#include "sion_internal.h"#include "sion_printts.h"#include "sion_keyvalue.h"#include "sion_flags.h"#include "sion_cache.h"#include "sion_buffer.h"#include "sion_hints.h"#include "sion_generic_internal.h"#include "sion_generic_collective.h"#include "sion_generic_buddy.h"#include "sion_internal_startptr.h"Go to the source code of this file.
Macros | |
| #define | _XOPEN_SOURCE 700 |
| #define | BGFLUSH |
| #define | DFUNCTION "_sion_generic_collect_mapping" |
| collect mapping information on rank 0 of first file, mapping=NULL for all others More... | |
Functions | |
| 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_data) |
| Generic parallel open of one direct access file. More... | |
| 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_data) |
| Internal function to close parallel opened SION file. More... | |
| 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) More... | |
| int | _sion_generic_collect_mapping (_sion_filedesc *sion_filedesc, int *mapping_size, sion_int32 **mapping) |
| int | _sion_generic_renumber_collmsa (_sion_generic_gendata *comm, _sion_flags_store *flags) |
| Splits a Communicator in numfiles different communicators. More... | |
| int | _sion_generic_is_candidate (_sion_generic_gendata *comm) |
| #define DFUNCTION "_sion_generic_collect_mapping" |
collect mapping information on rank 0 of first file, mapping=NULL for all others
Definition at line 1022 of file sion_generic_internal.c.
| int _sion_generic_renumber_collmsa | ( | _sion_generic_gendata * | comm, |
| _sion_flags_store * | flags | ||
| ) |
Splits a Communicator in numfiles different communicators.
| [in,out] | comm | communication context to be renumbered |
| [in] | flags | file open flags |
Definition at line 1093 of file sion_generic_internal.c.
| 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_data | ||
| ) |
Internal function to close parallel opened SION file.
| sid | reference to file description struct (_sion_filedesc) |
| rank | rank |
| ntasks | number of tasks |
| mapping_size | number of global tasks |
| mapping | mapping |
| flag | flag describing the role if the process in buddy checkpointing |
| sion_gendata | generic data struct |
| buddy_data | data describing the buddy checkpointing |
Definition at line 710 of file sion_generic_internal.c.
| 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_data | ||
| ) |
Generic parallel open of one direct access file.
| sid | sion file handle |
| fname | filename to use |
| flags_store | flags from already parsed file_mode (see also sion_internal.h) |
| prefix | prefix to be used in case of multiple files |
| numFiles | Number of files to open |
| filenumber | file number |
| chunksize | chunksize on this task |
| fsblksize | blocksize of filesystem (must be equal on all processors) |
| rank | rank of the current process |
| ntasks | number of processes |
| globalrank | any global unique id for this task, will be stored in sion file, usefull if comm is not MPI_COMM_WORLD typical: globalrank= rank in MPI_COMM_WORLD |
| flag | sion options flag |
| fileptr | filepointer for this task |
| sion_gendata | structure, containing references to commgroups and callbacks |
| buddy_data | data describing the buddy checkpointing |
Definition at line 76 of file sion_generic_internal.c.
| 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)
Definition at line 886 of file sion_generic_internal.c.