-
Notifications
You must be signed in to change notification settings - Fork 87
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
[Opt] the binary size of libcuvs is increasing when add .cu files #634
Comments
Entirely expected as cuvs uses whole compilation for the |
Hi @robertmaynard, thank you for the clarification, that really makes sense. I have a question: if I want to continue to reuse |
in whole compilation mode you can't invoke kernels defined in other translation units. It isn't clear to me if the |
Sorry for forgetting to paste a code link, that might be helpful to understand, and as you can see, the
am I right? |
James, I think the correct way to handle this situation is to 1) try and call cagra build from the public API header wherever possible, and 2) if 1 isn’t at all possible, use existing instantiations where possible (and use extern templates). It’s most ideal when we can do 1. That would be the way to fix your issue. Sent from my iPhoneOn Feb 19, 2025, at 4:36 PM, rhdong ***@***.***> wrote:
Sorry for forgetting to paste a code link, that might be helpful to understand, and as you can see, the merge need call build API, and the build includes some cuda kernel. So, as my understanding, we still have two chooses:
mark build via extern
or
move the instantiations of the merge into *build*.cu
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
rhdong left a comment (rapidsai/cuvs#634)
Sorry for forgetting to paste a code link, that might be helpful to understand, and as you can see, the merge need call build API, and the build includes some cuda kernel. So, as my understanding, we still have two chooses:
mark build via extern
or
move the instantiations of the merge into *build*.cu
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
|
I observed that multiple depulicated kernels were compiled while developing PR #618.
cagra::build
was removed fromcagra::merge
, which indicating that the issue of duplicated kernels exists across a wider range and possibly happens when including the filecagra.cuh
orcagra.hpp
in a newsrc/*.cu
.The incremental symbols after the PR #618:
The text was updated successfully, but these errors were encountered: