PHARE
PHARE copied to clipboard
read h5 in parallel with PatchHierarchies
We should be able to read hdf5 data with multiple cores. This could be done by having an object that manages a pool of PatchHierarchy instances, each assigned to a subset of the total patch hierarchy represented in the hdf5 file.
The way to dispatch patches into multiple (as many as there are cores) PatchHierarchies should be an external (changeable) strategy, that could depend on data type. For instance dispatching Fields would depend on how big each patch in number of nodes, but particle patchdatas would need to evaluate particle count.
One should also expect the dispatching to depend on time since the total samrai hierarchy does itself. For now time is dealt as an internal mechanism to PatchHierarchy (it has a dict of patch levels which key is the time), but it could be more handy to manage that at the higher level where the dispatching/parallelization is made.
This is not a concern for PHARE1D, but may become handy in large PHARE2D simulations where dealing with the entire hierarchy of data may not fit a single node.