-
Notifications
You must be signed in to change notification settings - Fork 564
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
Enable warp-per-tree inference in FIL for regression and binary classification #3760
Conversation
python tests show a bug that did not show in C++ tests with similar parameters. I will investigate, but assuming the code will not change much from that. |
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.
Approved pending CI
in |
Hopefully, by the time CI finishes, it's a normal FIL-only PR again |
This has #3941 merged in, which, in turn, was scheduled for gpucibot to merge. |
Somehow, the build system changes did not vanish from "Files changed". Asked Dante :) |
rerun tests |
Codecov Report
@@ Coverage Diff @@
## branch-21.08 #3760 +/- ##
===============================================
Coverage ? 85.32%
===============================================
Files ? 230
Lines ? 18095
Branches ? 0
===============================================
Hits ? 15439
Misses ? 2656
Partials ? 0
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report at Codecov.
|
@gpucibot merge |
…ification (rapidsai#3760) In FIL, enables using multiple threads to infer a single tree on multiple rows (less, equal or more than a warp, but often close to a warpful). Highly speeds up inference on the first ~6 levels of each tree, which can be significant even for rather deep models. E.g. random forests of max depth 40 may have an average depth of 13, which is barely double the highly sped up portion. The breaking status is since we're adding a new C API parameter that has two mandatory values: `threads_per_tree` and `n_items`. Python API is not breaking because if defaults to `threads_per_tree=1` and `n_items=0`, which I am currently ensuring to have no performance regressions Authors: - https://github.com/levsnv - Dante Gama Dessavre (https://github.com/dantegd) Approvers: - Andy Adinets (https://github.com/canonizer) - Dante Gama Dessavre (https://github.com/dantegd) URL: rapidsai#3760
In FIL, enables using multiple threads to infer a single tree on multiple rows (less, equal or more than a warp, but often close to a warpful). Highly speeds up inference on the first ~6 levels of each tree, which can be significant even for rather deep models. E.g. random forests of max depth 40 may have an average depth of 13, which is barely double the highly sped up portion.
The breaking status is since we're adding a new C API parameter that has two mandatory values:
threads_per_tree
andn_items
.Python API is not breaking because if defaults to
threads_per_tree=1
andn_items=0
, which I am currently ensuring to have no performance regressions