adios2::Variable<T>::Span to access internal BP3 buffer memory
Created by: williamfgc
This PR exposes pre-allocated buffer memory to the app so it can be filled out.
Addresses several issues for write use-cases:
- Avoid buffer duplication if application is memory-bound
- Reduce the number of sub-block metadata by pre-allocating larger block memory in adios2 which is exposed to the app as in #1165 (closed)
- Allow for non-contiguous data to populate the contiguous buffer data directly (e.g. MFEM nodes in element) without the need of temporaries
Will explore Read use-cases (single buffer for streaming engines) in future PRs.