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

Use rapids-cmake new COMPONENT exporting feature #1154

Conversation

robertmaynard
Copy link
Contributor

Switches raft over to the upcoming raft_export(COMPONET) support.

This allows raft to not require to support custom exporting logic

@codecov-commenter
Copy link

Codecov Report

Base: 87.99% // Head: 87.99% // No change to project coverage 👍

Coverage data is based on head (36fa38a) compared to base (0076101).
Patch has no changes to coverable lines.

Additional details and impacted files
@@              Coverage Diff              @@
##           branch-23.02    #1154   +/-   ##
=============================================
  Coverage         87.99%   87.99%           
=============================================
  Files                21       21           
  Lines               483      483           
=============================================
  Hits                425      425           
  Misses               58       58           

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

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.

LGTM. I notice this is still a draft. Is it ready to go into 23.02 or are you still working on it?

@robertmaynard robertmaynard force-pushed the fea/use_rapids_export_components branch from 36fa38a to f87323c Compare January 24, 2023 20:44
@github-actions github-actions bot removed the python label Jan 24, 2023
@robertmaynard
Copy link
Contributor Author

LGTM. I notice this is still a draft. Is it ready to go into 23.02 or are you still working on it?

Still a draft as the rapids-cmake feature hasn't been merged yet. I expect we are going to have to slip this to 23.04 given that rapids-cmake is in burndown

@robertmaynard robertmaynard changed the base branch from branch-23.02 to branch-23.04 January 25, 2023 18:22
@cjnolet
Copy link
Member

cjnolet commented Mar 9, 2023

@robertmaynard just pinging to see how you feel about this PR. Do you think this is going to make it for 23.04 or should we push?

@robertmaynard
Copy link
Contributor Author

@robertmaynard just pinging to see how you feel about this PR. Do you think this is going to make it for 23.04 or should we push?

Aiming to have the rapids-cmake changes merged tomorrow

@robertmaynard robertmaynard force-pushed the fea/use_rapids_export_components branch 2 times, most recently from 257e910 to 84a8935 Compare March 21, 2023 14:19
@robertmaynard robertmaynard force-pushed the fea/use_rapids_export_components branch from 84a8935 to d1115e1 Compare March 27, 2023 14:02
@cjnolet cjnolet marked this pull request as ready for review March 30, 2023 23:19
@cjnolet cjnolet requested a review from a team as a code owner March 30, 2023 23:19
Copy link
Contributor

@vyasr vyasr left a comment

Choose a reason for hiding this comment

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

The component changes themselves look good, but we raised some important questions about exactly what the packages should look like now that we need to resolve.

set(raft_export_sets raft-compiled-exports raft-distributed-exports)
if(TARGET raft_lib)
list(APPEND raft_components compiled)
list(APPEND raft_export_sets raft-compiled-lib-exports)
Copy link
Contributor

Choose a reason for hiding this comment

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

At this point I'm a bit confused by the different targets and export sets that we have in raft. Why do we need both the raft_compiled and raft_lib targets? It used to be necessary for the nn/dist targets so that calling code could use either component independently as header-only or precompiled, but now why can't the raft target just be the header-only target and raft_compiled always be precompiled? And that stems from my other question, why do we need both raft-compiled-exports and raft-compiled-lib-exports?

Copy link
Member

Choose a reason for hiding this comment

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

@vyasr from my understanding at this point, the answer is "we don't need both raft_compiled and raft_lib anymore, but at the current time they aren't really causing harm, so we aren't in an immediate rush to remove them". @robertmaynard please correct me if that assertion is wrong.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The raft_compiled target is created even when RAFT_COMPILE_LIBRARY is turned off, so one solution for proper invariant behavior when generating the libraft-headers and libraft was to have the current organization.

If we are okay with making the raft::compiled target conditional all this logic can be removed and we could have a single target raft_compiled and export set ( raft-compiled-exports ). If we are good with this, I would be happy to open a PR that does these changes.

cpp/CMakeLists.txt Show resolved Hide resolved
@cjnolet
Copy link
Member

cjnolet commented Mar 31, 2023

/merge

@rapids-bot rapids-bot bot merged commit 7cd298d into rapidsai:branch-23.04 Mar 31, 2023
@robertmaynard robertmaynard deleted the fea/use_rapids_export_components branch April 13, 2023 12:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMake cpp feature request New feature or request non-breaking Non-breaking change
Projects
Development

Successfully merging this pull request may close these issues.

4 participants