-
Notifications
You must be signed in to change notification settings - Fork 913
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
[FEA] libcudf should not rely on the ABI stability of Thrust types #14737
Labels
Comments
jrhemstad
added
feature request
New feature or request
Needs Triage
Need team to review and classify
labels
Jan 10, 2024
public symbols that use thrust types:
|
That is an incomplete list of symbols since the restriction of no ABI support between C++ and CUDA also means we can't pass internally Thrust types between C++ and CUDA sources. This means that components within our |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Is your feature request related to a problem? Please describe.
libcudf's public API currently includes use of Thrust types like
thrust::device_vector
. This means libcudf implicitly depends on the ABI of those Thrust types to be stable not only across Thrust versions, but even within the same version (e.g., host TUs vs device TUs).This is problematic because Thrust and CUB symbols make no ABI stability guarantees.
Describe the solution you'd like
Thrust types in libcudf's public API should be replaced with types that have ABI guarantees. This likely means replacing with equivalent
cuda::std::
types.Additional context
This is related to #14734 in a roundabout way that isn't worth going into the details.
See also:
NVIDIA/cccl#1246
NVIDIA/cccl#1262
The text was updated successfully, but these errors were encountered: