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
|
# Suppress CCCL warnings that don't affect correctness
|
||||||
-Wno-unused-function
|
-Wno-unused-function
|
||||||
-Wno-unknown-pragmas
|
-Wno-unknown-pragmas
|
||||||
# CUB needs these for non-NVCC compilers
|
# Non-NVCC: disable arch magic, wrap namespace to avoid ODR conflicts
|
||||||
-D_CCCL_COMPILER_GCC=1
|
|
||||||
-D__CUDA_ARCH_LIST__=700
|
-D__CUDA_ARCH_LIST__=700
|
||||||
-DCUB_DISABLE_NAMESPACE_MAGIC
|
-DCUB_DISABLE_NAMESPACE_MAGIC
|
||||||
-DCUB_WRAPPED_NAMESPACE=cccl_preload
|
-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 */
|
static constexpr size_t ALLOC_MAX_CACHED = (size_t)8 * 1024 * 1024 * 1024; /* 8GB */
|
||||||
|
|
||||||
/* ---- Global allocator singleton ---- */
|
/* ---- Global allocator singleton ---- */
|
||||||
static cub::CachingDeviceAllocator& get_allocator() {
|
using CubAllocator = CUB_NS_QUALIFIER::CachingDeviceAllocator;
|
||||||
static cub::CachingDeviceAllocator instance(
|
|
||||||
|
static CubAllocator& get_allocator() {
|
||||||
|
static CubAllocator instance(
|
||||||
ALLOC_BIN_GROWTH,
|
ALLOC_BIN_GROWTH,
|
||||||
ALLOC_MIN_BIN,
|
ALLOC_MIN_BIN,
|
||||||
ALLOC_MAX_BIN,
|
ALLOC_MAX_BIN,
|
||||||
|
|||||||
Reference in New Issue
Block a user