Writing your own hdf5 virtual file driver vfd
This presentation is the property of its rightful owner.
Sponsored Links
1 / 6

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


  • 64 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

Writing Your Own HDF5 Virtual File Driver (VFD)

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


Writing your own hdf5 virtual file driver vfd

Main Idea:

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


Writing your own hdf5 virtual file driver vfd

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.


Writing your own hdf5 virtual file driver vfd

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


  • Login