HDF Home Page Thread Safe HDF5


[ HDF5 Home Page ]

A "thread-safe" version of HDF5 is one that can be called from any thread of a multi-threaded program. Any calls to HDF5 can be made in any order, and each individual HDF5 call will perform correctly. Currently, only the first level of thread-safety has been added to HDF5. This version serializes the API suitable for use in a multi-threaded application but does not provide any level of concurrency.

The HDF5 library can be configured to be thread-safe (on a very large scale) by specifying the --enable-threadsafe and --with-pthread=DIR flags when configuring:

   ./configure --enable-threadsafe --with-pthread=DIR

For information on how thread-safety is currently implemented in HDF5, see:

  /HDF5/doc/TechNotes/ThreadSafeLibrary.html
We are interested in learning how you use or intend to use thread-safety with regards to HDF5 before we implement the next level of thread-safety. Please send any comments or suggestions to help @ hdfgroup . org.

Paper on Thread Safe HDF5 by Robb Matzke
Describes what thread-safety means in regards to HDF5.
Discusses issues and an implementation plan. Although it is an old paper (1999) the information in it still pertains.


Last Modified: June 28, 2007