Skip to content

CCCL 2.x ‐ CCCL 3.0 migration guide

Bernhard Manfred Gruber edited this page Mar 4, 2025 · 19 revisions

The CCCL team plans breaking changes carefully and only conducts them at major releases. The CCCL 2.8 release came with many deprecations to prepare for the breaking changes conducted in CCCL 3.0. This page summarizes the changes and helps migrating from CCCL 2.x to CCCL 3.0.

See also the list of all deprecated APIs in CCCL 2.8 and the list of breaking changes in CCCL 3.0.

Removals

  • CUB_MAX(a, b): Use the cuda::std::max(a, b) function instead

  • CUB_MIN(a, b): Use the cuda::std::min(a, b) function instead

  • CUB_QUOTIENT_FLOOR(a, b): Use plain integer division a / b instead

  • CUB_QUOTIENT_CEILING(a, b): Use cuda::ceil_div(a, b) instead

  • CUB_ROUND_UP_NEAREST(a, b): Use cuda::round_up(a, b) instead

  • CUB_ROUND_DOWN_NEAREST(a, b): Use cuda::round_down(a, b) instead

  • THRUST_STATIC_ASSERT(expr): Use static_assert(expr) instead

  • THRUST_HOST_BACKEND: Use THRUST_HOST_SYSTEM instead

  • THRUST_TUNING_ARCH: No direct replacement. Use compiler-specific __CUDA_ARCH__ (nvcc) or __NVCOMPILER_CUDA_ARCH__ (nvc++) instead

  • CUDA_CUB_RET_IF_FAIL: No replacement

  • cub::SHR_ADD: No replacement

Clone this wiki locally