]> https://gitweb.dealii.org/ - dealii.git/commit
fix checkpointing for >4GB files
authorTimo Heister <timo.heister@gmail.com>
Fri, 15 Oct 2021 03:05:53 +0000 (23:05 -0400)
committerMatthias Maier <tamiko@43-1.org>
Mon, 25 Oct 2021 15:41:32 +0000 (10:41 -0500)
commit8d7df273d8db86e1feacab3310012825f6a67bf4
tree3946bec7440902fa6c73d19d8005af9ef0b6f956
parent24ebbe0cc233c1072477cbef3cf7fb27eb9c7684
fix checkpointing for >4GB files

We incorrectly compute MPI_Offset for MPI IO for checkpointing using
SolutionTransfer using 32 bit indices, which means that files larger
than 4GB end up being corrupted.
This manifests in errors like

n error occurred in line <749> of file
<../source/distributed/tria_base.cc> in function
void dealii::parallel::DistributedTriangulationBase<dim,
spacedim>::load_attached_data(unsigned int, unsigned int, unsigned int,
const string&, unsigned int, unsigned int) [with int dim = 3; int
spacedim = 3; std::string = std::__cxx11::basic_string<char>]
The violated condition was:
(cell_rel.second == parallel::DistributedTriangulationBase<dim,
spacedim>::CELL_PERSIST)

part of #12752
source/distributed/tria_base.cc
tests/distributed_grids/checkpointing_02.cc [new file with mode: 0644]
tests/distributed_grids/checkpointing_02.with_trilinos=true.mpirun=2.output [new file with mode: 0644]

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.