Skip to content
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

Update format comment, add note about endian support #2759

Merged
merged 1 commit into from
Jun 9, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 8 additions & 6 deletions source/adios2/engine/bp5/BP5Engine.h
Original file line number Diff line number Diff line change
Expand Up @@ -129,12 +129,14 @@ class BP5Engine
*number of different "formats" written by any rank.
*
*
* MetaData file (md.0) contains encoded metadata for each timestep, for each
*rank BP5 header for "Metadata" (64 bytes) for each timestep: uint64_t
*TotalSize of this metadata block (including this length) uint64_t[WriterCount]
*Length of each writer rank's metadata for each rank FFS-encoded metadata block
*of length corresponding to entry above
*
* MetaData file (md.0) contains encoded metadata/attribute data
* BP5 header for "Metadata" (64 bytes)
* for each timestep:
* uint64_t : TotalSize of this metadata block
* uint64_t[WriterCount] : Length of each rank's metadata
* uint64_t[WriterCount] : Length of each rank's attribute
* FFS-encoded metadata block of the length above
* FFS-encoded attribute data block of the length above
*
* Data file (data.x) contains a block of data for each timestep, for each
*rank
Expand Down
14 changes: 14 additions & 0 deletions source/adios2/toolkit/format/bp5/BP5Deserializer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -798,6 +798,20 @@ static int FindOffsetCM(size_t Dims, const size_t *Size, const size_t *Index)
* - InData is the input, a slab of the global array
* - OutData is the output, to be filled with the selection array.
*/

/*
* *******************************
*
* ExtractSelectionFromPartial*M both need to be extended to work when
* the reader and writer have different byte orders. This involves at
* least supporting simple big/little-endian byte reversal, but a true
* archival format should also consider mixed and middle-endian
* hybrids. This would require changes to the BP5 header so that the
* appropriate transformations could be determined.
*
* *******************************
*/

// Row major version
void BP5Deserializer::ExtractSelectionFromPartialRM(
int ElementSize, size_t Dims, const size_t *GlobalDims,
Expand Down