Dedalus hangs in parallel when attempting a 3D interpolation using a Chebyshev basis

Issue #39 resolved
J. S. Oishi
created an issue

If one attempts to perform an interpolation to a single point in 3D before the transposes are created, Dedalus will hang if one of the bases is Chebyshev.

A workaround is to force the transposes to be created before the interpolation, for example by doing

data['c']
data['g']

The attached script provides a minimal working example. It runs fine in serial, but hangs in parallel if the workaround remains commented out.

Other notes:

  • the bug does not manifest if interpolation is done along only one dimension (even if it is the Chebyshev dimension)
  • This problem occurs in practice if one wishes to drop a "probe" in the flow to get a field at a given point and output it to a high time-cadence analysis task. The simulation will hang if the analysis task is triggered before the first timestep (as it is by default)

Comments (2)

  1. J. S. Oishi reporter

    Also, note that the workaround in the original post was completely spurious; it just happened that with only 2 cores, pretty frequently it would work anyway (because there were only two randomly chosen dict orders!)...

  2. Log in to comment