Loading data from various .hdf5 files in parallel #3371
Unanswered
joernwichmann
asked this question in
Firedrake support
Replies: 1 comment 3 replies
-
Firedrake uses MPI to handle parallelism. To get parallel HDF5 loads of CheckpointFiles you simply need to to execute If you want the ranks to act independently you might want to use ensemble parallelism instead. Does this answer your question? |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello everyone,
I am looking for help on the following topic. Let's say an oracle provides us with approximations to a stochastic PDE. It is stored in the following data format
Each level directory contains many .hdf5 files containing sample trajectories.
My job is to load the approximations, so that further processing steps can be taken. I have implemented a sequential loader that works fine. However, it only uses one core, drastically limiting the loading speed. I aim to increase the loading speed by using multiprocessing. But unfortunately my first attempt fails. Let me guide you through this attempt and where it fails.
First I define space and time discretisation classes encapsulating discretisation variables.
Next, a generic loader is defined by using the load function of firedrake.CheckPointFile.
The generic loader is used to define a specific loader using the storage directory structure.
Now, we can either use the specific loader sequentially or in parallel.
The sequential load just iterates over the requested samples.
The sequential loader works fine.
The parallel load uses the package concurrent.futures.
Unfortunately, when I run the parallel load, I get the following error message.
Q: Do you have any idea how to fix the parallel load?
Beta Was this translation helpful? Give feedback.
All reactions