-
Notifications
You must be signed in to change notification settings - Fork 423
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
ENH only protect against nested call in Parallel #934
Conversation
99037a4
to
e492f81
Compare
Codecov Report
@@ Coverage Diff @@
## master #934 +/- ##
=========================================
- Coverage 95.4% 73.5% -21.9%
=========================================
Files 45 45
Lines 6460 6492 +32
=========================================
- Hits 6163 4772 -1391
- Misses 297 1720 +1423
Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #934 +/- ##
==========================================
+ Coverage 95.4% 95.42% +0.02%
==========================================
Files 45 45
Lines 6460 6494 +34
==========================================
+ Hits 6163 6197 +34
Misses 297 297
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you very much for the fix. Please add an entry to the changelog!
Release 0.14.0 Improved the load balancing between workers to avoid stranglers caused by an excessively large batch size when the task duration is varying significantly (because of the combined use of joblib.Parallel and joblib.Memory with a partially warmed cache for instance). joblib/joblib#899 Add official support for Python 3.8: fixed protocol number in Hasher and updated tests. Fix a deadlock when using the dask backend (when scattering large numpy arrays). joblib/joblib#914 Warn users that they should never use joblib.load with files from untrusted sources. Fix security related API change introduced in numpy 1.6.3 that would prevent using joblib with recent numpy versions. joblib/joblib#879 Upgrade to cloudpickle 1.1.1 that add supports for the upcoming Python 3.8 release among other things. joblib/joblib#878 Fix semaphore availability checker to avoid spawning resource trackers on module import. joblib/joblib#893 Fix the oversubscription protection to only protect against nested Parallel calls. This allows joblib to be run in background threads. joblib/joblib#934 Fix ValueError (negative dimensions) when pickling large numpy arrays on Windows. joblib/joblib#920 Upgrade to loky 2.6.0 that add supports for the setting environment variables in child before loading any module. joblib/joblib#940 Fix the oversubscription protection for native libraries using threadpools (OpenBLAS, MKL, Blis and OpenMP runtimes). The maximal number of threads is can now be set in children using the inner_max_num_threads in parallel_backend. It defaults to cpu_count() // n_jobs.
Another solution to fix #865 without explicitly asking for it.
Here, the protection against nested call is implemented to only be used in nested Parallel calls.