writing your own hdf5 virtual file driver vfd
Download
Skip this Video
Download Presentation
Writing Your Own HDF5 Virtual File Driver (VFD)

Loading in 2 Seconds...

play fullscreen
1 / 6

Writing Your Own HDF5 Virtual File Driver (VFD) - PowerPoint PPT Presentation


  • 107 Views
  • Uploaded on

Writing Your Own HDF5 Virtual File Driver (VFD). Dana Robinson The HDF Group. Efficient Use of HDF5 With High Data Rate X-Ray Detectors Paul Scherrer Institut. Main Idea: Users should be able to write their own VFD without having to rebuild the HDF5 library. HDF5 Library. HDF5 API.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Writing Your Own HDF5 Virtual File Driver (VFD)' - lynde


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
writing your own hdf5 virtual file driver vfd

Writing Your Own HDF5Virtual File Driver (VFD)

Dana Robinson

The HDF Group

Efficient Use of HDF5 With High Data Rate X-Ray Detectors

Paul ScherrerInstitut

slide2
Main Idea:

Users should be able to write their own VFD without having to rebuild the HDF5 library.

slide3
HDF5 Library

HDF5 API

Virtual File Layer

VFD

VFD

User-Supplied VFD

disk

what do i have to do
What do I have to do?

1) Implement H5FDset_fapl_foo().

This will need to work with H5Pset_driver()

2) Implement appropriate VFD functions – read, write, etc.

3) Compile your code into a library or directly into your app.

demo vfd
"Demo" VFD

The STDIO VFD is a demo driver which uses no internal HDF5 calls.

Not intended for production use!

Unfortunately, this means that you do not get HDF5's platform-independent wrapper functions.

Can copy and paste as a basis for your own VFD.

slide6
static const H5FD_class_t H5FD_sec2_g = {

"sec2", /*name */

MAXADDR, /*maxaddr*/

H5F_CLOSE_WEAK, /*fc_degree*/

H5FD_sec2_term, /*terminate */

NULL, /*sb_size*/

NULL, /*sb_encode*/

NULL, /*sb_decode*/

0, /*fapl_size*/

NULL, /*fapl_get*/

NULL, /*fapl_copy*/

NULL, /*fapl_free*/

0, /*dxpl_size*/

NULL, /*dxpl_copy*/

NULL, /*dxpl_free*/

H5FD_sec2_open, /*open */

H5FD_sec2_close, /*close */

H5FD_sec2_cmp, /*cmp*/

H5FD_sec2_query, /*query */

NULL, /*get_type_map*/

NULL, /*alloc*/

NULL, /*free */

H5FD_sec2_get_eoa, /*get_eoa*/

H5FD_sec2_set_eoa, /*set_eoa*/

H5FD_sec2_get_eof, /*get_eof*/

H5FD_sec2_get_handle, /*get_handle*/

H5FD_sec2_read, /*read */

H5FD_sec2_write, /*write */

NULL, /*flush */

H5FD_sec2_truncate,/*truncate */

NULL, /*lock */

NULL, /*unlock */

H5FD_FLMAP_SINGLE /*fl_map*/

};

Each VFD contains a struct which maps our abstract VFL calls to your VFDs functions

Use NULL when not implemented

ad