Description This issue is to keep track of breaking changes we'd like to make in the next major version release.
Removals
Drop thrust::optional (dropped by Drop thrust::future|event|async::* #3730 , but reinstated by Reinstate thrust::optional #3759 to give users more time to migrate, @miscco is responsible to determine when we can drop)
Deprecate Thrust simple macros #4040
cub::MergePathSearch as part of Drop CUB_MIN|MAX in MergePathSearch and deprecate it #3999
Drop deprecated CUB macros #3821
Drop deprecated warp/block algo specializations #4007
Drop remaining 2.8-deprecated entities #4009
Deprecate and replace THRUST_STATIC_ASSERT #3971
Drop/internalize some macros #3936
Drop deprecated features from CUB util_ptx.cuh #3935
Drop public access to RegBoundScaling/MemBoundScaling #3934
Drop CUB thread operators #3918
Drop deprecated iterators from Thrust cuda utils #3905
Remove pre-C++17 code paths #3595
Error when users specialize BaseTraits but not numeric_limits #3836
Drop deprecated CUB iterators #3831
Drop/Internalize cub::PolicyWrapper, cub::KernelConfig, triple_chevron, thrust logical meta functions, thrust macros from type_deduction.h, thrust::cuda_cub::terminate, thrust::numeric_limits, cub::IterateThreadStore,cub::Swap Drop small deprecated entites #3748
Drop cub::GridBarrier #3745
Drop Thrust's cpp_compatibility.h #3746
Drop thrust::future|event|async::* #3730
Drop thrust::identity #3747
CUB CUB_IS_INT128_ENABLED, Int2Type, BinaryOpHasIdxParam::HAS_PARAM, FpLimits: Drop deprecated entities from CUB util_type #3743
Remove Agent* alias templates for the respective detail::<algorithm name>::Agent* #3467
Drop Thrust's global workaround #3692
Remove cub::ArrayWrapper #3665
Drop support for VS 2017 in code #3375
Drop CTK 11.x support in code #3284
Dropcub::DeviceSpmv in favor of cuSPARSE #3070
Internalize cuda/detail/core/* #3505
Remove all code paths and policies below SM50 #3431
Drop thrust::null_type #3508
Move CUB kernel entry points to a detail namespace #3407
Drop thrust universal iterator categories #3474
Require C++17 for compiling libcu++
Drop deprecated features from CUB util_ptx #3430
Remove CDPv1 Support #3341
Drop deprecated ::result_type etc. from Thrust function objects (and alias them to the libcu++ ones) #3271
Drop cub::DivideAndRoundUp #3347
Drop thrust::void_t #3362
Drop cub::ValueCache #3346
Drop all deprecated CUB APIs accepting a debug_synchronous parameter #3329
Drop CI runs for CTK 11.x #3249
Remove clang <14 from CI #3184
Require C++17 for compiling Thrust and CUB #3252
Drop Thrust's deprecated compiler macros #3301
Drop CUB's util_compiler.cuh #3302
Drop CUB's util_compiler.cuh for real #3340
Drop CUB_RUNTIME_ENABLED and __THRUST_HAS_CUDART__ #3305
Drop Thrust's compiler_fence.h #3300
Drop Thrust legacy arch macros #3298
Drop support for Intel ICC in code #3278
Drop VS 2017 from CI #3286
Drop CUB legacy macros in util_arch.cuh #3256
Drop cub::Mutex #3250
Drop Intel ICC from CI #3276
Drop thrust::[unary|binary]_function #3273
Drop thrust unary_traits and binary_traits #3259
Drop thrust not1 and not2 #3263
Drop support for GCC6 #3267
Remove deprecated cub::min and thrust::remove_cvref #3450
Remove cub::max
Deprecations with backports to 2.8
Moved to #3700
Planned deprecations for which we ran out of time
Moved to #3701
API breaking changes
ABI breaking changes
Behavioral changes
Cleanup
Reactions are currently unavailable
You can’t perform that action at this time.
This issue is to keep track of breaking changes we'd like to make in the next major version release.
Removals
thrust::optional(dropped by Drop thrust::future|event|async::* #3730, but reinstated by Reinstatethrust::optional#3759 to give users more time to migrate, @miscco is responsible to determine when we can drop)cub::MergePathSearchas part of Drop CUB_MIN|MAX in MergePathSearch and deprecate it #3999THRUST_STATIC_ASSERT#3971cub::PolicyWrapper,cub::KernelConfig,triple_chevron, thrust logical meta functions, thrust macros fromtype_deduction.h,thrust::cuda_cub::terminate,thrust::numeric_limits,cub::IterateThreadStore,cub::SwapDrop small deprecated entites #3748CUB_IS_INT128_ENABLED,Int2Type,BinaryOpHasIdxParam::HAS_PARAM,FpLimits: Drop deprecated entities from CUB util_type #3743Agent*alias templates for the respectivedetail::<algorithm name>::Agent*#3467cub::ArrayWrapper#3665cub::DeviceSpmvin favor of cuSPARSE #3070::result_typeetc. from Thrust function objects (and alias them to the libcu++ ones) #3271debug_synchronousparameter #3329thrust::[unary|binary]_function#3273unary_traitsandbinary_traits#3259not1andnot2#3263cub::minandthrust::remove_cvref#3450cub::maxDeprecations with backports to 2.8
Moved to #3700
Planned deprecations for which we ran out of time
Moved to #3701
API breaking changes
cub::BFE#4031<cuda/bit>operations:bitfield_insert,bitfield_extract,bit_reverse,bitmask#3941 as a replacement of removed CUB bit functionsthrust::discard_iterator'svalue_typevoid#3399 ~~ (this turns out to have too many ramifications, so I think we will live with thethrust::discard_iteratorworkaround in CUB)DispatchScan[ByKey]to be unsigned and at least 4 bytes #3992universal_host_pinned_memory_resource's pointer type should probably be auniversal_ptr#2659LEGACY_PTX_ARCHparameters #3552ForceInclusiveparameter ofDispatchScanbefore policy #3739thrust::tabulate_output_iterator#3573ceil_divshould return the resulting type of its operation #2845ABI breaking changes
Behavioral changes
Cleanup
thrust::complex)