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.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to