sklearn-compiledtrees icon indicating copy to clipboard operation
sklearn-compiledtrees copied to clipboard

[WIP] OpenMP support for compiled trees

Open mwojcikowski opened this issue 8 years ago • 1 comments

What's new:

  • new argument was introduced n_jobs for better performance model.predict(X, n_jobs=32)
  • n_jobs has similar behavior to joblib, i.e. n_jobs=-1 takes all CPUs, n_jobs=-2 leaves one core idle, etc.
  • the code is parallelized at samples level, which allows for good scaling, although theoretically you can't do n_jobs > n_samples
  • tree-level parallelizm is implemented for smaller sample sizes (< 2 * n_jobs)

Supported platforms:

  • Windows
  • Mac (GCC supports OpenMP, Xcode clang does not)
  • Linux

mwojcikowski avatar Nov 14 '16 15:11 mwojcikowski

Codecov Report

Merging #26 into master will decrease coverage by 6.22%. The diff coverage is 90.47%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #26      +/-   ##
==========================================
- Coverage   98.37%   92.15%   -6.23%     
==========================================
  Files           4        4              
  Lines         308      344      +36     
==========================================
+ Hits          303      317      +14     
- Misses          5       27      +22
Impacted Files Coverage Δ
compiledtrees/compiled.py 92.3% <71.42%> (-4.96%) :arrow_down:
compiledtrees/code_gen.py 83.92% <83.33%> (-15.13%) :arrow_down:
compiledtrees/tests/test_compiled.py 98.02% <96.55%> (-0.4%) :arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update b978cf2...8fc78f2. Read the comment docs.

codecov-io avatar Nov 18 '16 21:11 codecov-io