summaryrefslogtreecommitdiffstats
path: root/doxygen/examples/tables/fileDriverLists.dox
blob: b1f873f063dbab80fc9d68a30fd445dac9cef02c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
/** File Driver List
 *
//! [file_driver_table]
<table>
<caption>I/O file drivers</caption>
<tr>
<th>File Driver</th>
<th>Description</th>
</tr>
<tr>
<td>#H5FD_SEC2</td>
<td>Serial I/O to file using Unix “section 2” functions.</td>
</tr>
<tr>
<td>#H5FD_CORE</td>
<td>Store in memory (optional backing store to disk file).</td>
</tr>
<tr>
<td>#H5FD_LOG</td>
<td>Store in logging file.</td>
</tr>
<tr>
<td>#H5FD_FAMILY</td>
<td>Store in a set of files.</td>
</tr>
<tr>
<td>#H5FD_MULTI</td>
<td>Store in multiple files. There are several options to control layout.</td>
</tr>
<tr>
<td>#H5FD_STDIO</td>
<td>Serial I/O to file using Unix “stdio” functions.</td>
</tr>
<tr>
<td>#H5FD_SPLITTER</td>
<td>Relays VFD calls to one VFD, and write calls to another VFD. Maintains two files.</td>
</tr>
<tr>
<td>#H5FD_MPIO</td>
<td>Store using MPI/IO.</td>
</tr>
<tr>
<td>#H5FD_DIRECT</td>
<td>Forces data writes to the file directly without using the system kernel buffer.</td>
</tr>
<tr>
<td>#H5FD_MIRROR</td>
<td>Serial I/O to file using Unix “stdio” functions.</td>
</tr>
<tr>
<td>#H5FD_HDFS</td>
<td>Read-Only access to Hadoop Distributed File System (HDFS).</td>
</tr>
<tr>
<td>#H5FD_ROS3</td>
<td>Read-Only access to Amazon's S3 service.</td>
</tr>
<tr>
<td>#H5FD_SUBFILING</td>
<td>Derived from other "stacked" VFDs such as the splitter, mirror, and family VFDs.</td>
</tr>
<tr>
<td>#H5FD_IOC</td>
<td>Relays VFD calls to one VFD, and write calls to another VFD. Maintains two files.</td>
</tr>
<tr>
<td>#H5FD_ONION</td>
<td>Provide in-file provenance and revision/version control.</td>
</tr>
</table>
//! [file_driver_table]
 *
 *
//! [supported_file_driver_table]
<table>
<caption id="table_file_drivers">Supported file drivers</caption>
<tr>
<th>Driver Name</th>
<th>Driver Identifier</th>
<th>Description</th>
<th>Related API</th>
</tr>
<tr>
<td>POSIX</td>
<td>#H5FD_SEC2</td>
<td>This driver uses POSIX file-system functions like read and write to perform I/O to a single,
permanent file on local disk with no system buffering. This driver is POSIX-compliant and is
the default file driver for all systems.</td>
<td>#H5Pset_fapl_sec2</td>
</tr>
<tr>
<td>Memory</td>
<td>#H5FD_CORE</td>
<td>With this driver, an application can work with a file in memory for faster reads and
writes. File contents are kept in memory until the file is closed. At closing, the memory
version of the file can be written back to disk or abandoned.</td>
<td>#H5Pset_fapl_core</td>
</tr>
<tr>
<td>Log</td>
<td>#H5FD_LOG</td>
<td>This is the #H5FD_SEC2 driver with logging capabilities.</td>
<td>#H5Pset_fapl_log</td>
</tr>
<tr>
<td>Family</td>
<td>#H5FD_FAMILY</td>
<td>With this driver, the HDF5 file's address space is partitioned into pieces and sent to
separate storage files using an underlying driver of the user's choice. This driver is for
systems that do not support files larger than 2 gigabytes.</td>
<td>#H5Pset_fapl_family</td>
</tr>
<tr>
<td>Multi</td>
<td>#H5FD_MULTI</td>
<td>With this driver, data can be stored in multiple files according to the type of the data.
I/O might work better if data is stored in separate files based on the type of data. The Split
driver is a special case of this driver.</td>
<td>#H5Pset_fapl_multi / #H5Pset_fapl_split</td>
</tr>
<tr>
<td>STDIO</td>
<td>#H5FD_STDIO</td>
<td>This driver uses functions from the standard C stdio.h to perform I/O
to a single, permanent file on local disk with additional system buffering.</td>
<td>#H5Pset_fapl_stdio</td>
</tr>
<tr>
<td>Split</td>
<td>#H5FD_SPLITTER</td>
<td>This file driver splits a file into two parts. One part stores metadata, and the other part
stores raw data. This splitting a file into two parts is a limited case of the Multi driver.</td>
<td>#H5Pset_fapl_splitter</td>
</tr>
<tr>
<td>Parallel</td>
<td>#H5FD_MPIO</td>
<td>This is the standard HDF5 file driver for parallel file systems. This driver uses the MPI
standard for both communication and file I/O.</td>
<td>#H5Pset_fapl_mpio</td>
</tr>
<tr>
<td>Direct</td>
<td>#H5FD_DIRECT</td>
<td>This is the #H5FD_SEC2 driver except data is written to or read from the file
synchronously without being cached by the system.</td>
<td>#H5Pset_fapl_direct</td>
</tr>
<tr>
<td>Mirror</td>
<td>#H5FD_MIRROR</td>
<td>Serial I/O to file using Unix “stdio” functions.</td>
<td>#H5Pset_fapl_mirror</td>
</tr>
<tr>
<td>HDFS</td>
<td>#H5FD_HDFS</td>
<td>Read-Only access to Hadoop Distributed File System (HDFS).</td>
<td>#H5Pset_fapl_hdfs</td>
</tr>
<tr>
<td>ros3</td>
<td>#H5FD_ROS3</td>
<td>Read-Only access to Amazon's S3 service.</td>
<td>#H5Pset_fapl_ros3</td>
</tr>
<tr>
<td>Subfiling</td>
<td>#H5FD_SUBFILING</td>
<td>Derived from other "stacked" VFDs such as the splitter, mirror, and family VFDs.</td>
<td>#H5Pset_fapl_subfiling</td>
</tr>
<tr>
<td>IOC</td>
<td>#H5FD_IOC</td>
<td>Relays VFD calls to one VFD, and write calls to another VFD. Maintains two files.</td>
<td>#H5Pset_fapl_ioc</td>
</tr>
<tr>
<td>Onion</td>
<td>#H5FD_ONION</td>
<td>Provide in-file provenance and revision/version control.</td>
<td>#H5Pset_fapl_onion</td>
</tr>
<tr>
<td>Windows</td>
<td>#H5FD_WINDOWS</td>
<td>This driver was modified in HDF5-1.8.8 to be a wrapper of the POSIX driver,
#H5FD_SEC2. This change should not affect user applications.</td>
<td>#H5Pset_fapl_windows</td>
</tr>
<tr>
<td>Parallel POSIX</td>
<td>H5FD_MPIPOSIX</td>
<td>This driver is no longer available</td>
<td></td>
</tr>
<tr>
<td>Stream</td>
<td>H5FD_STREAM</td>
<td>This driver is no longer available.</td>
<td></td>
</tr>
</table>
//! [supported_file_driver_table]
 *
 */