Closed harrism closed 3 weeks ago
In any given release, RAPIDS has a set of dependency pinnings managed by rapids-cmake’s versions.json file. The breaking change, if you would call it that, is in rapids-cmake. I don’t consider this breaking for consumers of RMM because they already have to accept the contract of using RMM’s pinned build-time dependencies.
I agree it is a breaking change, since external users of rmm that use THRUST_WRAPPED_NAMESPACE
will now not work with rmm, even though CCCL 2.5 still supports THRUST_WRAPPED_NAMESPACE
.
If we didn't want it to be breaking we would just drop the testing part and leave support for THRUST_WRAPPED_NAMESPACE
alone.
Removes the no-longer-necessary THRUST_WRAPPED_NAMESPACE
Technically THRUST_WRAPPED_NAMESPACE
still has a usage, and that is when a consumer leaks Thrust types in the public API. In those cases you would want to still use THRUST_WRAPPED_NAMESPACE
so that you are safe to be composed with other libraries that use a different version of Thrust.
Technically
THRUST_WRAPPED_NAMESPACE
still has a usage, and that is when a consumer leaks Thrust types in the public API. In those cases you would want to still useTHRUST_WRAPPED_NAMESPACE
so that you are safe to be composed with other libraries that use a different version of Thrust.
Apologies, I misunderstood. I thought THRUST_WRAPPED_NAMESPACE was a necessary evil that is no longer necessary. I will revert all but the test changes. I don't like that we have to keep remembering to include thrust_namespace.h [sic]
in all files that call thrust. Hopefully we can completely eliminate it in the future.
/merge
Description
Fixes #1577. Removes the no-longer-necessary duplications of tests for
THRUST_WRAPPED_NAMESPACE
Wrapping the Thrust namespace is no longer required as of CCCL 2.3 (but is still available if needed). RMM is adopting CCCL 2.5 in release 24.08.
Eliminating these tests improves build time and reduces testing time by 50%.
Checklist