On Wed, 21 Aug 2013, H. Joe Lee wrote:
Hi, Herman!
I think the HDF5 file format specification [1] may help you.
I thought that too, but I got lost in the huge amount of detail in that
documentation :-(
By the way, what processors (PIC, DSP, ARM, etc.) and compilers (CCS
PIC-C, RTAI, etc.) do your robotics/medical instruments (will) use?
Also, how do your devices communicate (I2C, CAN, SPI, TCP/IP, etc.) ?
We want to use a multitude of processor architectures (starting with PC,
ARM and FPGA) and a multitude of communication "middleware" (starting with
TCP/IP, UDP and EtherCat)
I'm quite interested in hearing HDF5 implementation success stories
in real-time embedded systems as you described in your use case.
Me too :-)
Regards,
[1] http://www.hdfgroup.org/HDF5/doc/H5.format.html
--
HDF: Software that Powers Science
On Tue, Aug 20, 2013 at 2:13 AM, Herman Bruyninckx
<[email protected]> wrote:
Dear list,
we have some use cases (in robotics and medical instrumentation) in which
we want to use HDF5 to communicate compound data structures between
different sub-systems. The idea is to use the "memory driver" (H5FD_CORE)
with standard HDF5 file operations to write a compound data structure on
one device, to send over the raw buffer to another device, where the
compound data structure is read from the received buffer. (Our use cases
target "fast" communication with relatively "small" data structures, at
least in the context of many HDF5 applications such as HPC.)
Some questions I have in this context:
- where can we find how many bytes exactly the in-memory HDF5 compound data
structure occupies?
- how can we make sure that all HDF5 data (raw data + meta data) is stored
contiguously?
-do we have to use one buffer for the raw data and one for the meta data?
- how do we make sure that the sending over of the raw buffer data does not
lead to possible problems with differences in, say, little endian and big
endian systems?
We have already experimented with the H5FDdsm project
<https://hpcforge.org/projects/h5fddsm/>
but this is based on a full MPI middleware, which is often too big and slow
for some of our "realtime" use cases. The examples that come with this
project "work", but the documentation is not really very clear about how
exactly they solve the above-mentioned problems of ours. (I am convinced
that their code _does_ solve our problem, but I just don't find how...)
Any information or pointers to code snippets are highly appreciated! Thanks!
Best regards,
Herman Bruyninckx
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org