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

Removing cub symbol from libraft-distance instantiation. #887

Merged

Conversation

cjnolet
Copy link
Member

@cjnolet cjnolet commented Oct 4, 2022

The recent template instantiations for fusedL2NN included cub::KeyValuePair in the symbols. Unfortunately, the cub symbols end up including all of the cuda architectures upon which it is built in the symbol name. For example, if libraft-distance is built for 5 architectures then someone building locally using that libraft-distance package for only their architecture will get an undefined symbol error. The best solution here is to not allow symbols from cub to leak through any publicly exposed APIs (even if those APIs are template instantiations of implementaiton details).

I'm also adding a new raft::KeyValuePair object which has a conversion constructor so we can still easily make use of cub::KeyValuePair inside RAFT functions which use our new KVP object.

@cjnolet cjnolet added bug Something isn't working non-breaking Non-breaking change labels Oct 4, 2022
@cjnolet cjnolet requested a review from a team as a code owner October 4, 2022 17:50
@github-actions github-actions bot added the cpp label Oct 4, 2022
@cjnolet
Copy link
Member Author

cjnolet commented Oct 5, 2022

@gpucibot merge

@rapids-bot rapids-bot bot merged commit 55953f3 into rapidsai:branch-22.10 Oct 5, 2022
cjnolet added a commit to cjnolet/raft that referenced this pull request Oct 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working cpp non-breaking Non-breaking change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants