ComputationalRadiationPhysics / libSplash

libSplash - Simple Parallel file output Library for Accumulating Simulation data using Hdf5
GNU Lesser General Public License v3.0
15 stars 15 forks source link

Close #170 Simple Dataspaces for Attributes #171

Closed ax3l closed 9 years ago

ax3l commented 9 years ago

Close #170 by implementing additional interfaces to write attributes (global and per iteration) that can be used with simple HDF5 dataspaces.

"Simple Dataspaces" were only used with data sets, e.g., arrays or matrices but are the first choice for actual multi-dimensional array attributes, too (and compatible with h5py). Currently, we only supported to use specific types (see #170) that were either compound (different types) or array (N-times the same) types.

To Do

f-schmitt commented 9 years ago

I am a little worried that upping attributes to general, n-dim infinite size contradicts their intention to be very small, don't you think?

f-schmitt commented 9 years ago

Rest looks good, otherwise.

ax3l commented 9 years ago

@f-schmitt-zih thank you for the feedback!

size question: the general idea with our TYPE_ARRAY/TYPE_COMPOUND and also with this DATASPACE solution is to use a few types. HDF5 itself considers attributes small as long as they are below 64KB, so adding even a few dozen variables would not be a problem.

"n-dim infinite": I know you mean something different (the user could in principle put as much as he/she wants - that could simply cause poor performance, see link above). Just for the record, the implementation here is "fixed size" (there would also be the less-performant option to make them re-sizable/"infinite" that I did not implement intentionally).