-
Notifications
You must be signed in to change notification settings - Fork 420
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
FIX avoid spawning resource trackers on import #893
Conversation
Codecov Report
@@ Coverage Diff @@
## master #893 +/- ##
=========================================
+ Coverage 95.15% 95.46% +0.3%
=========================================
Files 45 45
Lines 6440 6459 +19
=========================================
+ Hits 6128 6166 +38
+ Misses 312 293 -19
Continue to review full report at Codecov.
|
Codecov Report
@@ Coverage Diff @@
## master #893 +/- ##
==========================================
+ Coverage 95.15% 95.57% +0.41%
==========================================
Files 45 45
Lines 6440 6459 +19
==========================================
+ Hits 6128 6173 +45
+ Misses 312 286 -26
Continue to review full report at Codecov.
|
6c69dca
to
20ed298
Compare
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 but a few quick comments.
Please add a changelog entry as well.
I squashed merged but i forgot about the misding entry in the changelog. |
Thanks for fixing this! |
I'm interested in using this fix, is there anything I can do to speed the release of joblib 1.4.0 on pypi? Thanks! |
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.
Change the way we check for semaphore availability to avoid spawning resource trackers on
joblib
import.I rely directly on
SemLock
for unix and did not change the bahavior on windows as there is no semaphore tracker in this case.closes #841