Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Boundary bug snippet #281

Closed
wants to merge 1 commit into from
Closed

Boundary bug snippet #281

wants to merge 1 commit into from

Conversation

MTCam
Copy link
Member

@MTCam MTCam commented Mar 10, 2021

Here's a "snippet" that reproduces our boundary issue (#280) hitting us in production runs.

The issue is reproduced when some partition(s) own 0 points on any of the boundaries. Oddly, I needed to run 4 ranks to reproduce the issue with this snippet. (I am unsure how both of 2 partitions end up owning points on all boundaries).

To reproduce the issue:
mpiexec -n 4 python -m mpi4py boundary-bug.py

I think the gist is summarized by this:

bnd_discr = discr.discr_from_dd(btag)
bnd_nodes = thaw(actx, bnd_discr.nodes())
bnd_normal = thaw(actx, discr.normal(btag))
result = bnd_nodes @ bnd_normal

... which fails when the partition owns 0 points on the btag boundary, apparently due to this difference in these data structures:

bnd_nodes=array([DOFArray((cl.Array([], shape=(0, 3), dtype=float64),)),
       DOFArray((cl.Array([], shape=(0, 3), dtype=float64),)),
       DOFArray((cl.Array([], shape=(0, 3), dtype=float64),))],
      dtype=object)
bnd_normal=array([DOFArray(()), DOFArray(()), DOFArray(())], dtype=object)

cc: @inducer , @anderson2981 , @majosm

@MTCam MTCam closed this Mar 15, 2021
@MTCam MTCam deleted the empty-boundary-bug branch April 30, 2021 19:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant