backport Baikal boundary handling fix to release branch

Issue #2432 resolved
Roland Haas created an issue

Bugfix – WVUThorns/Baikal*: Use GetBoundarySizesAndTypes() to obtain boundary information needed by Boundary_SelectVarForBC() as Boundary_SelectVarForBC() must be called in LEVEL mode. Fixes crash when Baikal* is run on certain, specific numbers of MPI processes. Also update Baikal*/READMEs for consistency

Comments (12)

  1. Roland Haas reporter

    Approved for backport in the pull request.

    Will inlcude in ET_2020_05_v1 to be created in

    Tested on the clusters already in

    If you decide to push on yourself (though it might be best to push all changes on the same day), please make sure to create an updated point-release tag ET_2020_05_v1 pointing to the updated release branch.

  2. Zach Etienne

    No it’s fully backportable for current Baikal* thorns, as it produces correct behavior in all cases Baikal* supports. (Currently Baikal* does not support symmetries, as was the nature of the problem you are referring to that was reported in the other ticket (#2288 .) We in fact confirmed this patch fixes a bug in current Baikal* when 4 MPI processes are chosen (usually either 1 or >30 MPI processes are run in my own tests).

  3. Roland Haas reporter

    Please see for an explanation for why the currently observed behaviour does not show bug-freeness. As far as I can tell the current code depends on the fact that Carpet puts a non-zero poison value in cctk_bbox. If it was not doing so then the code would not run. The only reason that it does not fail is an accident.

    Note that there is a difference between no error being observed with a single test run and the code being bug-free (the latter means that it is expected to work in all cases). I am not claiming that you are not seeing that things seem to work, I am claiming that they work only be accident and there is not guarantee they will continue to do so.

  4. Log in to comment