Go to the documentation of this file.
36 #include "util_namespace.cuh"
53 #define CUB_PTX_ARCH 0
55 #define CUB_PTX_ARCH __CUDA_ARCH__
60 #if (CUB_PTX_ARCH == 0) || defined(CUB_CDP)
61 #define CUB_RUNTIME_ENABLED
62 #define CUB_RUNTIME_FUNCTION __host__ __device__
64 #define CUB_RUNTIME_FUNCTION __host__
70 #define CUB_LOG_WARP_THREADS(arch) \
74 #define CUB_WARP_THREADS(arch) \
75 (1 << CUB_LOG_WARP_THREADS(arch))
78 #define CUB_LOG_SMEM_BANKS(arch) \
84 #define CUB_SMEM_BANKS(arch) \
85 (1 << CUB_LOG_SMEM_BANKS(arch))
88 #define CUB_SMEM_BANK_BYTES(arch) \
92 #define CUB_SMEM_BYTES(arch) \
98 #define CUB_SMEM_ALLOC_UNIT(arch) \
106 #define CUB_REGS_BY_BLOCK(arch) \
112 #define CUB_REG_ALLOC_UNIT(arch) \
122 #define CUB_WARP_ALLOC_UNIT(arch) \
128 #define CUB_MAX_SM_THREADS(arch) \
138 #define CUB_MAX_SM_BLOCKS(arch) \
144 #define CUB_MAX_BLOCK_THREADS(arch) \
150 #define CUB_MAX_SM_REGISTERS(arch) \
160 #define CUB_SUBSCRIPTION_FACTOR(arch) \
168 #define CUB_PREFER_CONFLICT_OVER_PADDING(arch) \
173 #ifndef DOXYGEN_SHOULD_SKIP_THIS // Do not document
175 #define CUB_PTX_LOG_WARP_THREADS CUB_LOG_WARP_THREADS(CUB_PTX_ARCH)
176 #define CUB_PTX_WARP_THREADS CUB_WARP_THREADS(CUB_PTX_ARCH)
177 #define CUB_PTX_LOG_SMEM_BANKS CUB_LOG_SMEM_BANKS(CUB_PTX_ARCH)
178 #define CUB_PTX_SMEM_BANKS CUB_SMEM_BANKS(CUB_PTX_ARCH)
179 #define CUB_PTX_SMEM_BANK_BYTES CUB_SMEM_BANK_BYTES(CUB_PTX_ARCH)
180 #define CUB_PTX_SMEM_BYTES CUB_SMEM_BYTES(CUB_PTX_ARCH)
181 #define CUB_PTX_SMEM_ALLOC_UNIT CUB_SMEM_ALLOC_UNIT(CUB_PTX_ARCH)
182 #define CUB_PTX_REGS_BY_BLOCK CUB_REGS_BY_BLOCK(CUB_PTX_ARCH)
183 #define CUB_PTX_REG_ALLOC_UNIT CUB_REG_ALLOC_UNIT(CUB_PTX_ARCH)
184 #define CUB_PTX_WARP_ALLOC_UNIT CUB_WARP_ALLOC_UNIT(CUB_PTX_ARCH)
185 #define CUB_PTX_MAX_SM_THREADS CUB_MAX_SM_THREADS(CUB_PTX_ARCH)
186 #define CUB_PTX_MAX_SM_BLOCKS CUB_MAX_SM_BLOCKS(CUB_PTX_ARCH)
187 #define CUB_PTX_MAX_BLOCK_THREADS CUB_MAX_BLOCK_THREADS(CUB_PTX_ARCH)
188 #define CUB_PTX_MAX_SM_REGISTERS CUB_MAX_SM_REGISTERS(CUB_PTX_ARCH)
189 #define CUB_PTX_PREFER_CONFLICT_OVER_PADDING CUB_PREFER_CONFLICT_OVER_PADDING(CUB_PTX_ARCH)
191 #endif // Do not document