Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bump minimum supported symengine version for built-in pickle support (#…
…7682) * Bump minimum supported symengine version for built-in pickle support The new symengine 0.9 release added native support in the package for pickling symengine objects. Previously we had been converting symengine objects to sympy objects so we could pickle them. With native support for pickle in symengine now we no longer need this which besides removing unnecessary should hopefully make pickling (which we do internally as part of using multiprocessing) more reliable. This also seems to fix the hanging we were seeing with multiprocessing with Python 3.9 on Linux. While investigating that issue it points to the underlying cause being a bug in cPython with the `fork()` based start method, but we were only able to reliably trigger it after switching to symengine in #6270 and having to rely on importing symengine to pickle the symengine objects. Since we're no longer doing that after bumping the minimum symengine version this removes the default disabling of parallel dispatch with Python 3.9. While I'm not 100% confident this fixes the bug, in my testing locally I haven't been able to reproduce the hang we were encountering (but this is ancedotal at best). If we do encounter issues with multiprocess hanging in the future we can look at rewriting the internals of `parallel_map()` or switching it back to disabled by default. Fixes #6188 * Fix typos in release notes Co-authored-by: Jake Lishman <jake@binhbar.com> Co-authored-by: Jake Lishman <jake@binhbar.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
- Loading branch information