You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? If so, please describe.
Two angles to this:
Calling Series("data.bp", Access::READ) will implicitly parse the entire Series in random-access mode. If using series.readIterations() afterwards, this is unnecessary. Using a streaming read mode allows us to skip this, possibly simplifying the control flow in the ADIOS2 backend.
The upcoming BP5 engine in ADIOS2 will also distinguish between these two kinds of access modes. Random-accessing a series written via the streaming API will then only be possible by explicitly using the random access read mode.
Describe the solution you'd like
The existing Access::READ_ONLY keeps its semantics. a new mode READ_LINEAR or READ_STREAMING is added.
Describe alternatives you've considered
Deferred iteration parsing does similar things and will probably share some logic. It's not the same though:
A READ_LINEAR mode affects the moment when BeginStep() is first called during reading.
A READ_LINEAR mode will affect the mode that will be used to open the ADIOS2 engine.
Deferred iteration parsing does not change the behavior of the backend at all, it just does not descend into the single iterations while parsing initially.
Additional context
Further questions:
What should be the behavior of this mode in file-based iteration encoding, group-based iteration encoding without steps, or other backends?
-> Probably similar to deferred iteration parsing
As a perspective, we might merge deferred iteration parsing with this feature. But this will probably require an API addition for explicit random access (series.jumpToStep() or sth). For now, I would keep them separate.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? If so, please describe.
Two angles to this:
Series("data.bp", Access::READ)
will implicitly parse the entire Series in random-access mode. If usingseries.readIterations()
afterwards, this is unnecessary. Using a streaming read mode allows us to skip this, possibly simplifying the control flow in the ADIOS2 backend.Describe the solution you'd like
The existing
Access::READ_ONLY
keeps its semantics. a new modeREAD_LINEAR
orREAD_STREAMING
is added.Describe alternatives you've considered
Deferred iteration parsing does similar things and will probably share some logic. It's not the same though:
BeginStep()
is first called during reading.Additional context
Further questions:
-> Probably similar to deferred iteration parsing
The text was updated successfully, but these errors were encountered: