[FLASH-USERS] amr_1blk_cc_cp_remote segfault during GC filling

Klaus Weide klaus at flash.uchicago.edu
Fri May 24 11:54:16 EDT 2019


On Thu, 23 May 2019, Aaron Tran wrote:

> Hi Klaus and Shimon,
> 
> Commenting out PPDEFINE PM_OPTIMIZE_MORTONBND_FETCHLIST works, happily.
> The simulation is able to proceed from checkpoint with 20 procs and
> Multigrid configured+enabled (no dependence on maxblocks, NGUARD); the plt
> outputs look reasonable.

Hi Aaron and Shimon,

Thank you for the very diligent examination and testing you have done.
It appears clear now that the optimization that 
is enabled by defining PM_OPTIMIZE_MORTONBND_FETCHLIST can result, in rare 
cases, in disagreements between the sending and the receiving side when 
block data are communicated for guard cell filling. 

Is is not clear to me why and when this happens with fatal consequences for the program 
run - in some cases, it should be okay if not all guard cells of a parent 
block can be filled (see the lines, with accompanying comment,

        If (idest == 2 .and. (.Not.lfound)) Then
           Return

in amr_1blk_cc_cp_remote.F90).

The potential benefit of the optimization in question is not big, so I 
suggest that leaving PM_OPTIMIZE_MORTONBND_FETCHLIST undefined is the 
right thing to do. It should also become the FLASH default unless or until 
we can analyze the problem in more detail.


Klaus



More information about the flash-users mailing list