-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Piecewise version of loadExternalData #1494
Conversation
* This is intended as an alternative way to load external data, in a | ||
* piecewise manner rather than loading all external data of a Sidre | ||
* hierarchy at once. load_group is a Group somewhere in the hierarchy | ||
* under parent_group, and only the external data for views in the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why is parent group needed here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In order to find the needed data in the HDF file, the method needs the relative path from parent_group to load_group. The logic to figure this out is inside the method. The alternative would be to force the user to construct this relative path and pass it in.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Got it. Thank you for the explanation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some comments about the comments....
Summary
IOManager::loadExternalData
, providing a way to load external data for only a part of the Sidre hierarchy.The pre-existing usage pattern for external data is a three step process:
IOManager::read()
to execute parallel IO to read data from a file and load it into a Sidre Group.IOManager::loadExternalData()
with the same root file and the same Group that was loaded in Step 1.This added usage pattern changes steps 2 and 3. For step 2 the calling code sets the addresses for a subset of the Views with external data., then for step 3 it calls the new overloaded
IOManager::loadExternalData
on a Group somewhere in the hierarchy that contains the Views touched in step 3. Steps 2 and 3 can be repeated to set addresses and load data into external Views at different locations in the hierarchy.