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 https://bitbucket.org/einsteintoolkit/tickets/issues/2431/review-changes-required-for-gcc-10

    Tested on the clusters already in http://einsteintoolkit.org/testsuite_results/index.php

    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 https://bitbucket.org/einsteintoolkit/tickets/issues/2288/#comment-58230880 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