- changed status to resolved
Dedalus hangs in parallel when attempting a 3D interpolation using a Chebyshev basis
Issue #39
resolved
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)
-
-
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!)...
- Log in to comment
Force a deterministic order to bases when interpolating over multiple bases. This fixes issue
#39.→ <<cset 3c591a74b7d2>>