SIONlib
2.0.0-rc.2
Scalable I/O library for parallel access to task-local files
|
Open (and close) SIONlib files from multiple OpenMP threads on multiple MPI processes in parallel. More...
Typedefs | |
typedef struct sion_ompi_options | sion_ompi_options |
Holds non-essential arguments for sion_paropen_ompi() . More... | |
Functions | |
int | sion_paropen_ompi (const char *filename, sion_open_mode mode, MPI_Comm communicator, const sion_ompi_options *options) |
Open a SIONlib file from multiple OpenMP threads on multiple MPI processes in parallel. More... | |
int | sion_parclose_ompi (int sid) |
closes a SIONlib file previously opened in OpenMP/MPI mode More... | |
sion_ompi_options * | sion_ompi_options_new () |
Allocates and initializes an instance of sion_ompi_options More... | |
void | sion_ompi_options_delete (sion_ompi_options *options) |
Delete an instance of sion_ompi_options More... | |
void | sion_ompi_options_set_chunksize (sion_ompi_options *options, int64_t chunksize) |
Set the chunk size of a logical file in the container. More... | |
void | sion_ompi_options_set_fsblksize (sion_ompi_options *options, int32_t fsblksize) |
Set the file system block size to assume. More... | |
void | sion_ompi_options_set_multifile_number (sion_ompi_options *options, int multifile_number) |
Set the number of physical files to use. More... | |
void | sion_ompi_options_set_multifile_communicator (sion_ompi_options *options, MPI_Comm multifile_communicator) |
Create multiple physical files based on disjunct communicators. More... | |
void | sion_ompi_options_set_keyval_mode (sion_ompi_options *options, sion_keyval_mode keyval_mode) |
Set the key-value mode to use for a container. More... | |
void | sion_ompi_options_set_buddy (sion_ompi_options *options) |
Enable buddy checkpointing mechanism. More... | |
void | sion_ompi_options_set_buddylevel (sion_ompi_options *options, int32_t buddylevel) |
Enable buddy checkpointing mechanism. More... | |
void | sion_ompi_options_set_collective (sion_ompi_options *options) |
Enable collective I/O. More... | |
void | sion_ompi_options_set_collective_size (sion_ompi_options *options, int32_t size) |
Enable collective I/O. More... | |
void | sion_ompi_options_set_collective_merge (sion_ompi_options *options) |
Use collective merging. More... | |
void | sion_ompi_options_set_lowlevel_api (sion_ompi_options *options, sion_lowlevel_api lowlevel_api) |
Set the low-level API to use for opening a container. More... | |
void | sion_ompi_options_set_endianness (sion_ompi_options *options, sion_endianness endianness) |
Set the endianness for the contents of a container. More... | |
Open (and close) SIONlib files from multiple OpenMP threads on multiple MPI processes in parallel.
typedef struct sion_ompi_options sion_ompi_options |
Holds non-essential arguments for sion_paropen_ompi()
.
These are:
Definition at line 43 of file sion_ompi.h.
void sion_ompi_options_delete | ( | sion_ompi_options * | options | ) |
Delete an instance of sion_ompi_options
[in] | options | a pointer to the instance to delete |
Definition at line 72 of file sion_ompi_gen.c.
sion_ompi_options* sion_ompi_options_new | ( | ) |
Allocates and initializes an instance of sion_ompi_options
NULL
if allocation failed Definition at line 63 of file sion_ompi_gen.c.
void sion_ompi_options_set_buddy | ( | sion_ompi_options * | options | ) |
Enable buddy checkpointing mechanism.
Has the same effect as sion_generic_options_set_buddylevel(options, 1)
.
[in] | options | an options object |
Definition at line 104 of file sion_ompi_gen.c.
References sion_ompi_options_set_buddylevel().
void sion_ompi_options_set_buddylevel | ( | sion_ompi_options * | options, |
int32_t | buddylevel | ||
) |
Enable buddy checkpointing mechanism.
Enables a specific level of buddy redundancy.
[in] | options | an options object |
[in] | buddylevel | the level of redundancy to use |
Definition at line 109 of file sion_ompi_gen.c.
References sion_generic_options_set_buddylevel().
Referenced by sion_ompi_options_set_buddy().
void sion_ompi_options_set_chunksize | ( | sion_ompi_options * | options, |
int64_t | chunksize | ||
) |
Set the chunk size of a logical file in the container.
[in,out] | options | an options object |
[in] | chunksize | chunk sizes for the logical file opened by this process |
Definition at line 77 of file sion_ompi_gen.c.
References sion_generic_options_set_chunksize().
void sion_ompi_options_set_collective | ( | sion_ompi_options * | options | ) |
Enable collective I/O.
The size of collector groups will be determined via heuristics.
[in] | options | an options object |
Definition at line 114 of file sion_ompi_gen.c.
References sion_ompi_options_set_collective_size().
void sion_ompi_options_set_collective_merge | ( | sion_ompi_options * | options | ) |
Use collective merging.
[in] | options | an options object |
Definition at line 124 of file sion_ompi_gen.c.
References sion_generic_options_set_collective_merge().
void sion_ompi_options_set_collective_size | ( | sion_ompi_options * | options, |
int32_t | size | ||
) |
Enable collective I/O.
[in] | options | an options object |
[in] | size | size of the collector groups |
Definition at line 119 of file sion_ompi_gen.c.
References sion_generic_options_set_collective_size().
Referenced by sion_ompi_options_set_collective().
void sion_ompi_options_set_endianness | ( | sion_ompi_options * | options, |
sion_endianness | endianness | ||
) |
Set the endianness for the contents of a container.
[in,out] | options | an options object |
[in] | endianness | the endianness of the contents |
Definition at line 134 of file sion_ompi_gen.c.
References sion_generic_options_set_endianness().
void sion_ompi_options_set_fsblksize | ( | sion_ompi_options * | options, |
int32_t | fsblksize | ||
) |
Set the file system block size to assume.
[in,out] | options | an options object |
[in] | fsblksize | the file system block size |
Definition at line 82 of file sion_ompi_gen.c.
References sion_generic_options_set_fsblksize().
void sion_ompi_options_set_keyval_mode | ( | sion_ompi_options * | options, |
sion_keyval_mode | keyval_mode | ||
) |
Set the key-value mode to use for a container.
[in,out] | options | an options object |
[in] | keyval_mode | the key-value mode to use |
Definition at line 99 of file sion_ompi_gen.c.
References sion_generic_options_set_keyval_mode().
void sion_ompi_options_set_lowlevel_api | ( | sion_ompi_options * | options, |
sion_lowlevel_api | lowlevel_api | ||
) |
Set the low-level API to use for opening a container.
[in,out] | options | an options object |
[in] | lowlevel_api | the low-level API to use |
Definition at line 129 of file sion_ompi_gen.c.
References sion_generic_options_set_lowlevel_api().
void sion_ompi_options_set_multifile_communicator | ( | sion_ompi_options * | options, |
MPI_Comm | multifile_communicator | ||
) |
Create multiple physical files based on disjunct communicators.
A separate physical file will be created for every distinct communicator. The union of all the different communicators should be the communicator passed to sion_paropen_ompi()
.
[in,out] | options | an options object |
[in] | multifile_communicator |
Definition at line 93 of file sion_ompi_gen.c.
void sion_ompi_options_set_multifile_number | ( | sion_ompi_options * | options, |
int | multifile_number | ||
) |
Set the number of physical files to use.
[in,out] | options | an options object |
[in] | multifile_number | how many files to use |
Definition at line 87 of file sion_ompi_gen.c.
int sion_parclose_ompi | ( | int | sid | ) |
closes a SIONlib file previously opened in OpenMP/MPI mode
[in] | sid | SIONlib file id |
Definition at line 50 of file sion_ompi_gen.c.
int sion_paropen_ompi | ( | const char * | filename, |
sion_open_mode | mode, | ||
MPI_Comm | communicator, | ||
const sion_ompi_options * | options | ||
) |
Open a SIONlib file from multiple OpenMP threads on multiple MPI processes in parallel.
This function opens a distinct logical file in a SIONlib container for each OpenMP thread on each MPI process that calls it.
[in] | filename | name of file, should be equal on all tasks |
[in] | mode | whether to open the file for reading or writing |
[in] | communicator | a communicator containing all processes that participate in opening the container |
[in] | options | additional options (or NULL ) |
Definition at line 139 of file sion_ompi_gen.c.
References sion_lock_register_lock_callbacks().