From 415fff85f19b2f7284c6144b53a856c0e46ed981 Mon Sep 17 00:00:00 2001 From: claude Date: Fri, 14 Aug 2026 10:45:37 +0000 Subject: [PATCH] fix: add DISPATCH_FLOATING_TYPES macro to device_utils.cuh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DISPATCH_FLOATING_TYPES was defined in xllm/core/kernels/cuda/utils.h which was pulled in via cuda_ops_api.h → utils.h. Since cuda_ops_api.h was removed (glog dependency), the macro was missing. Now defined in device_utils.cuh with include guard, available to all kernel files: norm.cu, activation.cu, rope.cu, block_copy.cu, reshape_paged_cache.cu --- .../cuda/headers/device_utils.cuh | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/ex_engine/xllm_kernels/cuda/headers/device_utils.cuh b/ex_engine/xllm_kernels/cuda/headers/device_utils.cuh index 77e155b4..d14a6cb5 100644 --- a/ex_engine/xllm_kernels/cuda/headers/device_utils.cuh +++ b/ex_engine/xllm_kernels/cuda/headers/device_utils.cuh @@ -114,3 +114,23 @@ struct TopkConstants { }; } // namespace xllm::kernel::cuda + +// ============================================================================ +// Dispatch macros (from xllm/core/kernels/cuda/utils.h) +// These wrap AT_DISPATCH_SWITCH for float16/bfloat16/float32 dispatch. +// Placed here because cuda_ops_api.h → utils.h is not available on corex +// (glog/logging.h dependency). +// ============================================================================ +#ifndef DISPATCH_FLOATING_TYPES +#define DISPATCH_CASE_FLOATING_TYPES(...) \ + AT_DISPATCH_CASE(at::ScalarType::Float, __VA_ARGS__) \ + AT_DISPATCH_CASE(at::ScalarType::Half, __VA_ARGS__) \ + AT_DISPATCH_CASE(at::ScalarType::BFloat16, __VA_ARGS__) +#define DISPATCH_FLOATING_TYPES(TYPE, NAME, ...) \ + AT_DISPATCH_SWITCH(TYPE, NAME, DISPATCH_CASE_FLOATING_TYPES(__VA_ARGS__)) +#define DISPATCH_CASE_HALF_TYPES(...) \ + AT_DISPATCH_CASE(at::ScalarType::Half, __VA_ARGS__) \ + AT_DISPATCH_CASE(at::ScalarType::BFloat16, __VA_ARGS__) +#define DISPATCH_HALF_TYPES(TYPE, NAME, ...) \ + AT_DISPATCH_SWITCH(TYPE, NAME, DISPATCH_CASE_HALF_TYPES(__VA_ARGS__)) +#endif