Skip to content
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

Configurable libcuml++ per algorithm #4296

Merged
merged 33 commits into from
Feb 24, 2022

Conversation

dantegd
Copy link
Member

@dantegd dantegd commented Oct 20, 2021

Depends on #4295

PR allows libcuml++ to be built with individual algorithms, or individual families of algorithms with the argument CUML_ALGORITHMS. It defaults to ALL, and can take multiple options like:

cmake .. -DCUML_ALGORITHMS="FIL;TREESHAP"

which will build a libcuml++ only containing FIL and GPUTreeSHAP components.

PR to update build documentation will follow up.

@dantegd dantegd added feature request New feature or request 2 - In Progress Currenty a work in progress non-breaking Non-breaking change labels Oct 20, 2021
@dantegd dantegd added this to PR-WIP in v21.12 Release via automation Oct 20, 2021
@dantegd dantegd removed this from PR-WIP in v21.12 Release Nov 12, 2021
@dantegd dantegd added this to PR-WIP in v22.02 Release via automation Nov 12, 2021
@dantegd dantegd changed the base branch from branch-21.12 to branch-22.02 November 12, 2021 13:27
@github-actions
Copy link

This PR has been labeled inactive-30d due to no recent activity in the past 30 days. Please close this PR if it is no longer required. Otherwise, please respond with a comment indicating any updates. This PR will be labeled inactive-90d if there is no activity in the next 60 days.

@dantegd dantegd removed this from PR-WIP in v22.02 Release Jan 24, 2022
@dantegd dantegd added this to PR-WIP in v22.04 Release via automation Jan 24, 2022
@github-actions github-actions bot added conda conda issue Cython / Python Cython or Python issue gpuCI gpuCI issue labels Feb 7, 2022
@dantegd dantegd changed the base branch from branch-22.02 to branch-22.04 February 7, 2022 18:17
@github-actions github-actions bot removed gpuCI gpuCI issue Cython / Python Cython or Python issue conda conda issue labels Feb 11, 2022
@github-actions github-actions bot removed the gpuCI gpuCI issue label Feb 23, 2022
@dantegd dantegd changed the title Configurable libcuml++ per algorithm [skip-ci] Configurable libcuml++ per algorithm Feb 23, 2022
@dantegd
Copy link
Member Author

dantegd commented Feb 23, 2022

rerun tests

@dantegd dantegd marked this pull request as ready for review February 23, 2022 22:39
@dantegd dantegd requested a review from a team as a code owner February 23, 2022 22:39
@dantegd dantegd added 3 - Ready for Review Ready for review by team and removed 2 - In Progress Currenty a work in progress labels Feb 23, 2022
Copy link
Contributor

@wphicks wphicks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! I requested one additional comment/docstring tweak, but it's fine to merge without.

message(VERBOSE "CUML: Build and statically link FAISS library: ${CUML_USE_FAISS_STATIC}")
message(VERBOSE "CUML: Build and statically link Treelite library: ${CUML_USE_TREELITE_STATIC}")

set(CUML_ALGORITHMS "ALL" CACHE STRING "Experimental: Choose which algorithms are built into libcuml++.so.")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we note here (even just in a comment) that this is a semicolon-separated list of all-caps strings?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To be fair, they don't need to be all caps, they can be any capitalization you want

Copy link
Member

@cjnolet cjnolet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably update the documentation as well to reflect the new building options (and eventually enable it in the build.sh), but otherwise it LGTM.

v22.04 Release automation moved this from PR-WIP to PR-Reviewer approved Feb 24, 2022
@codecov-commenter
Copy link

Codecov Report

❗ No coverage uploaded for pull request base (branch-22.04@126c4ef). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@               Coverage Diff               @@
##             branch-22.04    #4296   +/-   ##
===============================================
  Coverage                ?   83.88%           
===============================================
  Files                   ?      250           
  Lines                   ?    20062           
  Branches                ?        0           
===============================================
  Hits                    ?    16829           
  Misses                  ?     3233           
  Partials                ?        0           
Flag Coverage Δ
dask 45.17% <0.00%> (?)
non-dask 76.98% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.


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 126c4ef...eee3b08. Read the comment docs.

@dantegd
Copy link
Member Author

dantegd commented Feb 24, 2022

@gpucibot merge

@rapids-bot rapids-bot bot merged commit c69606e into rapidsai:branch-22.04 Feb 24, 2022
v22.04 Release automation moved this from PR-Reviewer approved to Done Feb 24, 2022
vimarsh6739 pushed a commit to vimarsh6739/cuml that referenced this pull request Oct 9, 2023
Depends on rapidsai#4295 

PR allows `libcuml++` to be built with individual algorithms, or individual families of algorithms with the argument `CUML_ALGORITHMS`. It defaults to `ALL`, and can take multiple options like:

```
cmake .. -DCUML_ALGORITHMS="FIL;TREESHAP"
```

which will build a `libcuml++` only containing FIL and GPUTreeSHAP components. 

PR to update build documentation will follow up.

Authors:
  - Dante Gama Dessavre (https://github.com/dantegd)
  - Divye Gala (https://github.com/divyegala)

Approvers:
  - William Hicks (https://github.com/wphicks)
  - Corey J. Nolet (https://github.com/cjnolet)

URL: rapidsai#4296
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3 - Ready for Review Ready for review by team CMake CUDA/C++ feature request New feature or request inactive-30d non-breaking Non-breaking change
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

None yet

5 participants