Loading source/adios2/toolkit/format/bp5/BP5Deserializer.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -1485,6 +1485,7 @@ MinVarInfo *BP5Deserializer::MinBlocksInfo(const VariableBase &Var, size_t Step) if (writer_meta_base) { MinBlockInfo Blk; Blk.MinMax.Init(VarRec->Type); Blk.WriterID = WriterRank; Blk.BlockID = Id++; Blk.BufferP = writer_meta_base; Loading @@ -1493,6 +1494,11 @@ MinVarInfo *BP5Deserializer::MinBlocksInfo(const VariableBase &Var, size_t Step) Blk.Count = (size_t *)1; Blk.Start = (size_t *)WriterRank; } if (writer_meta_base) { ApplyElementMinMax(Blk.MinMax, VarRec->Type, writer_meta_base); } MV->BlocksInfo.push_back(Blk); } } Loading source/utils/bpls/bpls.cpp +33 −13 Original line number Diff line number Diff line Loading @@ -3066,11 +3066,15 @@ Dims get_global_array_signature(core::Engine *fp, core::IO *io, { for (size_t k = 0; k < ndim; k++) { size_t n = (minBlocks->WasLocalVar ? reinterpret_cast<size_t>(minBlocks->Shape) : minBlocks->Shape[k]); if (firstStep) { dims[k] = minBlocks->Shape[k]; dims[k] = n; } else if (dims[k] != minBlocks->Shape[k]) else if (dims[k] != n) { dims[k] = 0; } Loading Loading @@ -3365,20 +3369,26 @@ void print_decomp(core::Engine *fp, core::IO *io, core::Variable<T> *variable) for (size_t k = 0; k < ndim; k++) { if (blocks[j].Count[k]) size_t c = (minBlocksInfo->WasLocalVar ? reinterpret_cast<size_t>(blocks[j].Count) : blocks[j].Count[k]); if (c) { size_t s = (minBlocksInfo->WasLocalVar ? reinterpret_cast<size_t>(blocks[j].Start) : blocks[j].Start[k]); if (variable->m_ShapeID == ShapeID::GlobalArray) { fprintf(outf, "%*zu:%*zu", ndigits_dims[k], blocks[j].Start[k], ndigits_dims[k], blocks[j].Start[k] + blocks[j].Count[k] - 1); fprintf(outf, "%*zu:%*zu", ndigits_dims[k], s, ndigits_dims[k], s + c - 1); } else { // blockStart is empty vector for LocalArrays fprintf(outf, "0:%*zu", ndigits_dims[k], blocks[j].Count[k] - 1); fprintf(outf, "0:%*zu", ndigits_dims[k], c - 1); } } else Loading Loading @@ -3411,6 +3421,15 @@ void print_decomp(core::Engine *fp, core::IO *io, core::Variable<T> *variable) } fprintf(outf, "\n"); if (dump) { if (minBlocksInfo->WasLocalVar) { readVarBlock( fp, io, variable, RelStep, j, {reinterpret_cast<size_t>(blocks[j].Count)}, {reinterpret_cast<size_t>(blocks[j].Start)}); } else { readVarBlock( fp, io, variable, RelStep, j, Loading @@ -3420,6 +3439,7 @@ void print_decomp(core::Engine *fp, core::IO *io, core::Variable<T> *variable) } } } } return; } Loading Loading
source/adios2/toolkit/format/bp5/BP5Deserializer.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -1485,6 +1485,7 @@ MinVarInfo *BP5Deserializer::MinBlocksInfo(const VariableBase &Var, size_t Step) if (writer_meta_base) { MinBlockInfo Blk; Blk.MinMax.Init(VarRec->Type); Blk.WriterID = WriterRank; Blk.BlockID = Id++; Blk.BufferP = writer_meta_base; Loading @@ -1493,6 +1494,11 @@ MinVarInfo *BP5Deserializer::MinBlocksInfo(const VariableBase &Var, size_t Step) Blk.Count = (size_t *)1; Blk.Start = (size_t *)WriterRank; } if (writer_meta_base) { ApplyElementMinMax(Blk.MinMax, VarRec->Type, writer_meta_base); } MV->BlocksInfo.push_back(Blk); } } Loading
source/utils/bpls/bpls.cpp +33 −13 Original line number Diff line number Diff line Loading @@ -3066,11 +3066,15 @@ Dims get_global_array_signature(core::Engine *fp, core::IO *io, { for (size_t k = 0; k < ndim; k++) { size_t n = (minBlocks->WasLocalVar ? reinterpret_cast<size_t>(minBlocks->Shape) : minBlocks->Shape[k]); if (firstStep) { dims[k] = minBlocks->Shape[k]; dims[k] = n; } else if (dims[k] != minBlocks->Shape[k]) else if (dims[k] != n) { dims[k] = 0; } Loading Loading @@ -3365,20 +3369,26 @@ void print_decomp(core::Engine *fp, core::IO *io, core::Variable<T> *variable) for (size_t k = 0; k < ndim; k++) { if (blocks[j].Count[k]) size_t c = (minBlocksInfo->WasLocalVar ? reinterpret_cast<size_t>(blocks[j].Count) : blocks[j].Count[k]); if (c) { size_t s = (minBlocksInfo->WasLocalVar ? reinterpret_cast<size_t>(blocks[j].Start) : blocks[j].Start[k]); if (variable->m_ShapeID == ShapeID::GlobalArray) { fprintf(outf, "%*zu:%*zu", ndigits_dims[k], blocks[j].Start[k], ndigits_dims[k], blocks[j].Start[k] + blocks[j].Count[k] - 1); fprintf(outf, "%*zu:%*zu", ndigits_dims[k], s, ndigits_dims[k], s + c - 1); } else { // blockStart is empty vector for LocalArrays fprintf(outf, "0:%*zu", ndigits_dims[k], blocks[j].Count[k] - 1); fprintf(outf, "0:%*zu", ndigits_dims[k], c - 1); } } else Loading Loading @@ -3411,6 +3421,15 @@ void print_decomp(core::Engine *fp, core::IO *io, core::Variable<T> *variable) } fprintf(outf, "\n"); if (dump) { if (minBlocksInfo->WasLocalVar) { readVarBlock( fp, io, variable, RelStep, j, {reinterpret_cast<size_t>(blocks[j].Count)}, {reinterpret_cast<size_t>(blocks[j].Start)}); } else { readVarBlock( fp, io, variable, RelStep, j, Loading @@ -3420,6 +3439,7 @@ void print_decomp(core::Engine *fp, core::IO *io, core::Variable<T> *variable) } } } } return; } Loading