fix: CUB_NS_QUALIFIER for wrapped namespace + drop _CCCL_COMPILER_GCC
CoreX clang++ 不是 GCC,-D_CCCL_COMPILER_GCC=1 和 CCCL 自己的 compiler detection 冲突。 CUB_WRAPPED_NAMESPACE=cccl_preload 使得命名空间变成 cccl_preload::cub, 用 CUB_NS_QUALIFIER 宏自动解析正确的命名空间。
This commit is contained in:
@@ -72,8 +72,7 @@ COMMON_FLAGS=(
|
||||
# Suppress CCCL warnings that don't affect correctness
|
||||
-Wno-unused-function
|
||||
-Wno-unknown-pragmas
|
||||
# CUB needs these for non-NVCC compilers
|
||||
-D_CCCL_COMPILER_GCC=1
|
||||
# Non-NVCC: disable arch magic, wrap namespace to avoid ODR conflicts
|
||||
-D__CUDA_ARCH_LIST__=700
|
||||
-DCUB_DISABLE_NAMESPACE_MAGIC
|
||||
-DCUB_WRAPPED_NAMESPACE=cccl_preload
|
||||
|
||||
@@ -41,8 +41,10 @@ static constexpr unsigned int ALLOC_MAX_BIN = 32; /* 4 GB */
|
||||
static constexpr size_t ALLOC_MAX_CACHED = (size_t)8 * 1024 * 1024 * 1024; /* 8GB */
|
||||
|
||||
/* ---- Global allocator singleton ---- */
|
||||
static cub::CachingDeviceAllocator& get_allocator() {
|
||||
static cub::CachingDeviceAllocator instance(
|
||||
using CubAllocator = CUB_NS_QUALIFIER::CachingDeviceAllocator;
|
||||
|
||||
static CubAllocator& get_allocator() {
|
||||
static CubAllocator instance(
|
||||
ALLOC_BIN_GROWTH,
|
||||
ALLOC_MIN_BIN,
|
||||
ALLOC_MAX_BIN,
|
||||
|
||||
Reference in New Issue
Block a user