SIONlib  2.0.0-rc.2
Scalable I/O library for parallel access to task-local files
sion_omp.h
1 /****************************************************************************
2 ** SIONLIB http://www.fz-juelich.de/jsc/sionlib **
3 *****************************************************************************
4 ** Copyright (c) 2008-2019 **
5 ** Forschungszentrum Juelich, Juelich Supercomputing Centre **
6 ** **
7 ** See the file COPYRIGHT in the package base directory for details **
8 ****************************************************************************/
9 
10 #ifndef SION_SION_OMP_H
11 #define SION_SION_OMP_H
12 
13 #ifdef SION_OMP
14 
18 
19 #include <stdint.h>
20 #include <stdio.h>
21 
22 #include "sion_const.h"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
38 
49 int sion_paropen_omp(const char *filename, sion_open_mode mode, const sion_omp_options *options);
50 
56 int sion_parclose_omp(int sid);
57 
62 
67 
72 void sion_omp_options_set_chunksize(sion_omp_options *options, int64_t chunksize);
73 
78 void sion_omp_options_set_fsblksize(sion_omp_options *options, int32_t fsblksize);
79 
85 
94 
101 void sion_omp_options_set_collective_size(sion_omp_options *options, int32_t size);
102 
109 
115 
121 
122 #ifdef __cplusplus
123 }
124 #endif
125 
127 
128 #endif
129 
130 #endif
sion_lowlevel_api
specifies a low-level API to use for file system access
Definition: sion_enums.h:19
sion_omp_options * sion_omp_options_new()
Allocates and initializes an instance of sion_omp_options
Definition: sion_omp_gen.c:72
void sion_omp_options_set_chunksize(sion_omp_options *options, int64_t chunksize)
Set the chunk size of a logical file in the container.
Definition: sion_omp_gen.c:86
void sion_omp_options_set_collective_size(sion_omp_options *options, int32_t size)
Enable collective I/O.
Definition: sion_omp_gen.c:106
int sion_paropen_omp(const char *filename, sion_open_mode mode, const sion_omp_options *options)
Open a SIONlib file from multiple OpenMP threads.
Definition: sion_omp_gen.c:126
int sion_parclose_omp(int sid)
closes a SIONlib file previously opened in OpenMP mode
Definition: sion_omp_gen.c:46
void sion_omp_options_set_collective(sion_omp_options *options)
Enable collective I/O.
Definition: sion_omp_gen.c:101
void sion_omp_options_set_keyval_mode(sion_omp_options *options, sion_keyval_mode keyval_mode)
Set the key-value mode to use for a container.
Definition: sion_omp_gen.c:96
void sion_omp_options_delete(sion_omp_options *options)
Delete an instance of sion_omp_options
Definition: sion_omp_gen.c:81
void sion_omp_options_set_collective_merge(sion_omp_options *options)
Use collective merging.
Definition: sion_omp_gen.c:111
struct sion_omp_options sion_omp_options
Holds non-essential arguments for sion_paropen_omp().
Definition: sion_omp.h:37
void sion_omp_options_set_endianness(sion_omp_options *options, sion_endianness endianness)
Set the endianness for the contents of a container.
Definition: sion_omp_gen.c:121
sion_keyval_mode
specifies whether to use SIONlib's key-value mechanism for accessing file content and if so in what m...
Definition: sion_enums.h:35
sion_endianness
declares the endianness of user data written to a file
Definition: sion_enums.h:63
sion_open_mode
specifies for what type of access to open a file
Definition: sion_enums.h:27
void sion_omp_options_set_fsblksize(sion_omp_options *options, int32_t fsblksize)
Set the file system block size to assume.
Definition: sion_omp_gen.c:91
void sion_omp_options_set_lowlevel_api(sion_omp_options *options, sion_lowlevel_api lowlevel_api)
Set the low-level API to use for opening a container.
Definition: sion_omp_gen.c:116