Hi,
I am looking at writing some OpenMP code where each thread will be
operating on data from an HDF file. I have read
<https://www.hdfgroup.org/HDF5/doc/TechNotes/openmp-hdf5.html> that HDF
slows down the threads if I include it in OpenMP. My plan was to have a
pthread buffering data in the background and then have the main thread
using OpenMP to parallelize the data processing.
I am not anywhere near expert in this area. I was wondering if there is an
elegant way to make HDF5 buffer in a separate thread. I would need it to
buffer only rows that I will choose. I will be choosing randomly, but it
will probably be a Markov chain moving to nearby data elements. Thus, I
could have it buffer nearby elements with the possibility of taking a
"miss".
So, in summary, the structure of the code looks like,
- Main Thread
- Launches PThread
- For each OpenMP loop
- Wait for a buffer to fill
- Locks buffer
- Computes on the data in the buffer
- PThread
- Begins loop
- Buffer data for all OpenMP Threads
- Indicate data is ready
Thank you,
Aidan Plenert Macdonald
Website <http://acsweb.ucsd.edu/~amacdona/>
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5