![]() |
SIONlib
2.0.0-rc.3
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 1 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().