mirror of
https://github.com/kvcache-ai/ktransformers.git
synced 2026-11-05 01:07:28 +00:00
[GH-ISSUE #1176] [Bug] v0.2.4 启动模型失败 #810
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
kvcache-ai/ktransformers#810
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Mewral on GitHub (Apr 21, 2025).
Original GitHub issue: https://github.com/kvcache-ai/ktransformers/issues/1176
Originally assigned to: @Atream on GitHub.
检查清单
问题描述
v0.2.4安装正常,但是在加载deepseek v3 0324模型的时候在加载到61层会报错,并且在正常加载模型的时候会输出很多重复日志。
报错信息:
在加载每一层模型还会有很多无关日志
复现步骤
按照官方推荐文档中进行安装,安装命令:USE_BALANCE_SERVE=1 bash ./install.sh
启动模型命令:
python -m ktransformers.server.main --model_path /models/DeepSeek-V3-0324-bf16/
--gguf_path /models/DeepSeek-V3-0324-gguf/
--optimize_config_path ktransformers/optimize/optimize_rules/DeepSeek-V3-Chat-serve.yaml
--cpu_infer 65
--port 10002
--max_new_tokens 1024
--max_batch_size 4
环境信息
环境
@kitchen7c commented on GitHub (Apr 21, 2025):
我也遇到同样的问题 CUDA12.4 torch2.6.0
@qiyuxinlin commented on GitHub (Apr 22, 2025):
重复日志打印在 main 上已经删掉了,但是 MLA 报错看起来是 flashinfer 出错,想问下您 flashinfer 如何安装的?
@Mewral commented on GitHub (Apr 22, 2025):
@qiyuxinlin 是使用install.sh脚本里安装的,git拉取的custom_flashinfer 0.2.3, 我在原Flashinfer中找到了同样的问题,看起来是最近修复的bug,咱们的custom_flashinfer中好像没有同步更新,https://github.com/flashinfer-ai/flashinfer/issues/892
@kitchen7c commented on GitHub (Apr 22, 2025):
@Atream commented on GitHub (Apr 22, 2025):
custom_flashinfer不是安装main分支,而是安装fix-precision-mla-merge-main或者GQA_var_batch分支
@Mewral commented on GitHub (Apr 22, 2025):
感谢,我之前安装的是v0.2.4 代码里连接的分支,我再试下
@kitchen7c commented on GitHub (Apr 22, 2025):
我安装是从fix-precision-mla-merge-main 分支同步的。但还是启动是报下面的错误。
loading blk.58.attn_norm.weight to cuda
loading blk.58.ffn_norm.weight to cuda
loading blk.59.attn_q_a_norm.weight to cuda
loading blk.59.attn_kv_a_norm.weight to cuda
loading blk.59.attn_kv_b.weight to cuda:0
loading blk.59.attn_norm.weight to cuda
loading blk.59.ffn_norm.weight to cuda
loading blk.60.attn_q_a_norm.weight to cuda
loading blk.60.attn_kv_a_norm.weight to cuda
loading blk.60.attn_kv_b.weight to cuda:0
loading blk.60.attn_norm.weight to cuda
loading blk.60.ffn_norm.weight to cuda
loading output_norm.weight to cuda
Getting inference context from sched_client.
Got inference context, sending it to subscribers.
Rebuilding kvcache
kv_cache loaded successfully.
capturing cuda graph 1 1
Process SpawnProcess-1:
Traceback (most recent call last):
File "/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 2209, in _run_ninja_build
subprocess.run(
File "/data/miniconda3/envs/ktransformers/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/data/miniconda3/envs/ktransformers/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
self.run()
File "/data/miniconda3/envs/ktransformers/lib/python3.11/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/ktransformers/server/backend/interfaces/balance_serve.py", line 253, in run_engine
engine.model_runner.warmup()
File "/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/ktransformers/server/balance_serve/inference/model_runner.py", line 107, in warmup
self.model.flash_infer_attn_plan(self.input[i], self.bsz_tensor_buf, self.num_tokens_tensor_buf,
File "/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/ktransformers/models/custom_modeling_deepseek_v3.py", line 145, in flash_infer_attn_plan
self.wrapper.plan(minibatch.q_indptr, minibatch.kv_indptr, minibatch.kv_indices,
File "/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/mla.py", line 232, in plan
self._cached_module = get_batch_mla_module(self._backend)(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/mla.py", line 43, in backend_module
modules_dict[args] = gen_batch_mla_module(backend, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/jit/attention/pytorch.py", line 185, in gen_batch_mla_module
return load_cuda_ops(
^^^^^^^^^^^^^^
File "/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/jit/core.py", line 123, in load_cuda_ops
torch_cpp_ext.load(
File "/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 1380, in load
return _jit_compile(
^^^^^^^^^^^^^
File "/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 1798, in _jit_compile
_write_ninja_file_and_build_library(
File "/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 1926, in _write_ninja_file_and_build_library
_run_ninja_build(
File "/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 2225, in _run_ninja_build
raise RuntimeError(message) from e
RuntimeError: Error building extension 'batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90': [1/4] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output batch_mla_sm90_plan.cuda.o.d -DTORCH_EXTENSION_NAME=batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="_gcc" -DPYBIND11_STDLIB="_libstdcpp" -DPYBIND11_BUILD_ABI="_cxxabi1011" -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/include -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/csrc -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/cutlass/include -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/cutlass/tools/util/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/TH -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /data/miniconda3/envs/ktransformers/include/python3.11 -D_GLIBCXX_USE_CXX11_ABI=0 --expt-relaxed-constexpr -gencode=arch=compute_90,code=sm_90 --compiler-options '-fPIC' -O3 -std=c++17 --threads 4 -use_fast_math -DFLASHINFER_ENABLE_F16 -DFLASHINFER_ENABLE_BF16 -DFLASHINFER_ENABLE_FP8_E4M3 -DFLASHINFER_ENABLE_FP8_E5M2 -gencode=arch=compute_90a,code=sm_90a -c /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_plan.cu -o batch_mla_sm90_plan.cuda.o
FAILED: batch_mla_sm90_plan.cuda.o
/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output batch_mla_sm90_plan.cuda.o.d -DTORCH_EXTENSION_NAME=batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="_gcc" -DPYBIND11_STDLIB="_libstdcpp" -DPYBIND11_BUILD_ABI="_cxxabi1011" -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/include -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/csrc -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/cutlass/include -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/cutlass/tools/util/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/TH -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /data/miniconda3/envs/ktransformers/include/python3.11 -D_GLIBCXX_USE_CXX11_ABI=0 --expt-relaxed-constexpr -gencode=arch=compute_90,code=sm_90 --compiler-options '-fPIC' -O3 -std=c++17 --threads 4 -use_fast_math -DFLASHINFER_ENABLE_F16 -DFLASHINFER_ENABLE_BF16 -DFLASHINFER_ENABLE_FP8_E4M3 -DFLASHINFER_ENABLE_FP8_E5M2 -gencode=arch=compute_90a,code=sm_90a -c /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_plan.cu -o batch_mla_sm90_plan.cuda.o
In file included from /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_plan.cu:19:
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_config.inc:29:111: warning: backslash-newline at end of file
29 | #define DISPATCH_context(DTypeQ, DTypeKV, DTypeO, IdType, MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE, Params, ...)
|
In file included from /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_plan.cu:19:
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_config.inc:29:111: warning: backslash-newline at end of file
29 | #define DISPATCH_context(DTypeQ, DTypeKV, DTypeO, IdType, MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE, Params, ...)
|
In file included from /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_plan.cu:19:
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_config.inc:29:111: warning: backslash-newline at end of file
29 | #define DISPATCH_context(DTypeQ, DTypeKV, DTypeO, IdType, MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE, Params, ...)
|
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_plan.cu(44): error: no instance of function template "flashinfer::MLAPlan" matches the argument list
argument types are: (void *, size_t, void *, void *, size_t, flashinfer::MLAPlanInfo, IdType *, IdType *, IdType , int, int64_t, int64_t, bool, const cudaStream_t)
MLAPlan(float_workspace_buffer.data_ptr(), float_workspace_size_in_bytes,
^
/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/include/flashinfer/attention/scheduler.cuh(1071): note #3322-D: number of parameters of function template "flashinfer::MLAPlan" does not match the call
inline cudaError_t MLAPlan(void float_buffer, size_t float_workspace_size_in_bytes,
^
1 error detected in the compilation of "/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_plan.cu".
[2/4] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output batch_mla_sm90_run.cuda.o.d -DTORCH_EXTENSION_NAME=batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="_gcc" -DPYBIND11_STDLIB="_libstdcpp" -DPYBIND11_BUILD_ABI="_cxxabi1011" -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/include -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/csrc -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/cutlass/include -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/cutlass/tools/util/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/TH -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /data/miniconda3/envs/ktransformers/include/python3.11 -D_GLIBCXX_USE_CXX11_ABI=0 --expt-relaxed-constexpr -gencode=arch=compute_90,code=sm_90 --compiler-options '-fPIC' -O3 -std=c++17 --threads 4 -use_fast_math -DFLASHINFER_ENABLE_F16 -DFLASHINFER_ENABLE_BF16 -DFLASHINFER_ENABLE_FP8_E4M3 -DFLASHINFER_ENABLE_FP8_E5M2 -gencode=arch=compute_90a,code=sm_90a -c /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_run.cu -o batch_mla_sm90_run.cuda.o
FAILED: batch_mla_sm90_run.cuda.o
/usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output batch_mla_sm90_run.cuda.o.d -DTORCH_EXTENSION_NAME=batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="_gcc" -DPYBIND11_STDLIB="_libstdcpp" -DPYBIND11_BUILD_ABI="_cxxabi1011" -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/include -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/csrc -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/cutlass/include -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/cutlass/tools/util/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/TH -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /data/miniconda3/envs/ktransformers/include/python3.11 -D_GLIBCXX_USE_CXX11_ABI=0 --expt-relaxed-constexpr -gencode=arch=compute_90,code=sm_90 --compiler-options '-fPIC' -O3 -std=c++17 --threads 4 -use_fast_math -DFLASHINFER_ENABLE_F16 -DFLASHINFER_ENABLE_BF16 -DFLASHINFER_ENABLE_FP8_E4M3 -DFLASHINFER_ENABLE_FP8_E5M2 -gencode=arch=compute_90a,code=sm_90a -c /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_run.cu -o batch_mla_sm90_run.cuda.o
In file included from /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_run.cu:21:
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_config.inc:29:111: warning: backslash-newline at end of file
29 | #define DISPATCH_context(DTypeQ, DTypeKV, DTypeO, IdType, MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE, Params, ...)
|
In file included from /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_run.cu:21:
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_config.inc:29:111: warning: backslash-newline at end of file
29 | #define DISPATCH_context(DTypeQ, DTypeKV, DTypeO, IdType, MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE, Params, ...)
|
In file included from /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_run.cu:21:
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_config.inc:29:111: warning: backslash-newline at end of file
29 | #define DISPATCH_context(DTypeQ, DTypeKV, DTypeO, IdType, MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE, Params, ...)
|
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_run.cu(65): error: a value of type "DTypeO " cannot be assigned to an entity of type "float "
switch (mask_mode) { case MaskMode::kNone: { constexpr MaskMode MASK_MODE = MaskMode::kNone; { using Params = MLAParams<DTypeQ, DTypeKV, DTypeO, IdType>; [&] { Params params; params.q_nope = static_cast<DTypeQ>(q_nope.data_ptr()); params.q_pe = static_cast<DTypeQ>(q_pe.data_ptr()); params.ckv = static_cast<DTypeKV*>(ckv_cache.data_ptr()); params.kpe = static_cast<DTypeKV*>(kpe_cache.data_ptr()); params.q_indptr = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.q_indptr_offset); params.kv_indptr = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.kv_indptr_offset); params.partial_indptr = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.partial_indptr_offset); params.kv_indices = static_cast<IdType*>(kv_indices.data_ptr()); params.q_len = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.q_len_offset); params.kv_len = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.kv_len_offset); params.q_start = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.q_start_offset); params.kv_start = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.kv_start_offset); params.kv_end = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.kv_end_offset); params.work_indptr = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.work_indptr_offset); params.merge_packed_offset_start = GetPtrFromBaseOffset( int_buffer_ptr, plan_info.merge_packed_offset_start_offset); params.merge_packed_offset_end = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.merge_packed_offset_end_offset); params.merge_partial_packed_offset_start = GetPtrFromBaseOffset( int_buffer_ptr, plan_info.merge_partial_packed_offset_start_offset); params.merge_partial_packed_offset_end = GetPtrFromBaseOffset( int_buffer_ptr, plan_info.merge_partial_packed_offset_end_offset); params.merge_partial_stride = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.merge_partial_stride_offset); params.final_o = static_cast<DTypeO*>(o.data_ptr()); params.final_lse = maybe_lse.has_value() ? static_cast<float*>(maybe_lse->data_ptr()) : nullptr; params.partial_o = GetPtrFromBaseOffset(float_buffer_ptr, plan_info.partial_o_offset); params.partial_lse = GetPtrFromBaseOffset(float_buffer_ptr, plan_info.partial_lse_offset); params.num_heads = uint_fastdiv(num_heads); params.block_size = uint_fastdiv(page_size); params.q_nope_stride_n = q_nope_stride_n; params.q_nope_stride_h = q_nope_stride_h; params.q_pe_stride_n = q_pe_stride_n; params.q_pe_stride_h = q_pe_stride_h; params.ckv_stride_page = ckv_stride_page; params.ckv_stride_n = ckv_stride_n; params.kpe_stride_page = kpe_stride_page; params.kpe_stride_n = kpe_stride_n; params.o_stride_n = o_stride_n; params.o_stride_h = o_stride_h; params.sm_scale = sm_scale; cudaError_t status = mla::BatchMLAPageAttentionHopper<MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE>( params, plan_info.num_blks_x, plan_info.num_blks_y, stream);
^
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_run.cu(65): error: a value of type "DTypeO " cannot be assigned to an entity of type "float "
; }(); } break; } case MaskMode::kCausal: { constexpr MaskMode MASK_MODE = MaskMode::kCausal; { using Params = MLAParams<DTypeQ, DTypeKV, DTypeO, IdType>; [&] { Params params; params.q_nope = static_cast<DTypeQ>(q_nope.data_ptr()); params.q_pe = static_cast<DTypeQ>(q_pe.data_ptr()); params.ckv = static_cast<DTypeKV*>(ckv_cache.data_ptr()); params.kpe = static_cast<DTypeKV*>(kpe_cache.data_ptr()); params.q_indptr = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.q_indptr_offset); params.kv_indptr = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.kv_indptr_offset); params.partial_indptr = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.partial_indptr_offset); params.kv_indices = static_cast<IdType*>(kv_indices.data_ptr()); params.q_len = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.q_len_offset); params.kv_len = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.kv_len_offset); params.q_start = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.q_start_offset); params.kv_start = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.kv_start_offset); params.kv_end = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.kv_end_offset); params.work_indptr = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.work_indptr_offset); params.merge_packed_offset_start = GetPtrFromBaseOffset( int_buffer_ptr, plan_info.merge_packed_offset_start_offset); params.merge_packed_offset_end = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.merge_packed_offset_end_offset); params.merge_partial_packed_offset_start = GetPtrFromBaseOffset( int_buffer_ptr, plan_info.merge_partial_packed_offset_start_offset); params.merge_partial_packed_offset_end = GetPtrFromBaseOffset( int_buffer_ptr, plan_info.merge_partial_packed_offset_end_offset); params.merge_partial_stride = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.merge_partial_stride_offset); params.final_o = static_cast<DTypeO*>(o.data_ptr()); params.final_lse = maybe_lse.has_value() ? static_cast<float*>(maybe_lse->data_ptr()) : nullptr; params.partial_o = GetPtrFromBaseOffset(float_buffer_ptr, plan_info.partial_o_offset); params.partial_lse = GetPtrFromBaseOffset(float_buffer_ptr, plan_info.partial_lse_offset); params.num_heads = uint_fastdiv(num_heads); params.block_size = uint_fastdiv(page_size); params.q_nope_stride_n = q_nope_stride_n; params.q_nope_stride_h = q_nope_stride_h; params.q_pe_stride_n = q_pe_stride_n; params.q_pe_stride_h = q_pe_stride_h; params.ckv_stride_page = ckv_stride_page; params.ckv_stride_n = ckv_stride_n; params.kpe_stride_page = kpe_stride_page; params.kpe_stride_n = kpe_stride_n; params.o_stride_n = o_stride_n; params.o_stride_h = o_stride_h; params.sm_scale = sm_scale; cudaError_t status = mla::BatchMLAPageAttentionHopper<MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE>( params, plan_info.num_blks_x, plan_info.num_blks_y, stream);
^
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_run.cu(65): error: a value of type "DTypeO " cannot be assigned to an entity of type "float "
; }(); } break; } case MaskMode::kCustom: { constexpr MaskMode MASK_MODE = MaskMode::kCustom; { using Params = MLAParams<DTypeQ, DTypeKV, DTypeO, IdType>; [&] { Params params; params.q_nope = static_cast<DTypeQ>(q_nope.data_ptr()); params.q_pe = static_cast<DTypeQ>(q_pe.data_ptr()); params.ckv = static_cast<DTypeKV*>(ckv_cache.data_ptr()); params.kpe = static_cast<DTypeKV*>(kpe_cache.data_ptr()); params.q_indptr = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.q_indptr_offset); params.kv_indptr = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.kv_indptr_offset); params.partial_indptr = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.partial_indptr_offset); params.kv_indices = static_cast<IdType*>(kv_indices.data_ptr()); params.q_len = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.q_len_offset); params.kv_len = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.kv_len_offset); params.q_start = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.q_start_offset); params.kv_start = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.kv_start_offset); params.kv_end = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.kv_end_offset); params.work_indptr = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.work_indptr_offset); params.merge_packed_offset_start = GetPtrFromBaseOffset( int_buffer_ptr, plan_info.merge_packed_offset_start_offset); params.merge_packed_offset_end = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.merge_packed_offset_end_offset); params.merge_partial_packed_offset_start = GetPtrFromBaseOffset( int_buffer_ptr, plan_info.merge_partial_packed_offset_start_offset); params.merge_partial_packed_offset_end = GetPtrFromBaseOffset( int_buffer_ptr, plan_info.merge_partial_packed_offset_end_offset); params.merge_partial_stride = GetPtrFromBaseOffset(int_buffer_ptr, plan_info.merge_partial_stride_offset); params.final_o = static_cast<DTypeO*>(o.data_ptr()); params.final_lse = maybe_lse.has_value() ? static_cast<float*>(maybe_lse->data_ptr()) : nullptr; params.partial_o = GetPtrFromBaseOffset(float_buffer_ptr, plan_info.partial_o_offset); params.partial_lse = GetPtrFromBaseOffset(float_buffer_ptr, plan_info.partial_lse_offset); params.num_heads = uint_fastdiv(num_heads); params.block_size = uint_fastdiv(page_size); params.q_nope_stride_n = q_nope_stride_n; params.q_nope_stride_h = q_nope_stride_h; params.q_pe_stride_n = q_pe_stride_n; params.q_pe_stride_h = q_pe_stride_h; params.ckv_stride_page = ckv_stride_page; params.ckv_stride_n = ckv_stride_n; params.kpe_stride_page = kpe_stride_page; params.kpe_stride_n = kpe_stride_n; params.o_stride_n = o_stride_n; params.o_stride_h = o_stride_h; params.sm_scale = sm_scale; cudaError_t status = mla::BatchMLAPageAttentionHopper<MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE>( params, plan_info.num_blks_x, plan_info.num_blks_y, stream);
^
3 errors detected in the compilation of "/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_run.cu".
[3/4] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output batch_mla_sm90_pybind.cuda.o.d -DTORCH_EXTENSION_NAME=batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90 -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE="_gcc" -DPYBIND11_STDLIB="_libstdcpp" -DPYBIND11_BUILD_ABI="_cxxabi1011" -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/include -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/csrc -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/cutlass/include -I/data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/flashinfer/data/cutlass/tools/util/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/torch/csrc/api/include -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/TH -isystem /data/miniconda3/envs/ktransformers/lib/python3.11/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /data/miniconda3/envs/ktransformers/include/python3.11 -D_GLIBCXX_USE_CXX11_ABI=0 --expt-relaxed-constexpr -gencode=arch=compute_90,code=sm_90 --compiler-options '-fPIC' -O3 -std=c++17 --threads 4 -use_fast_math -DFLASHINFER_ENABLE_F16 -DFLASHINFER_ENABLE_BF16 -DFLASHINFER_ENABLE_FP8_E4M3 -DFLASHINFER_ENABLE_FP8_E5M2 -gencode=arch=compute_90a,code=sm_90a -c /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_pybind.cu -o batch_mla_sm90_pybind.cuda.o
In file included from /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_pybind.cu:16:
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_config.inc:29:111: warning: backslash-newline at end of file
29 | #define DISPATCH_context(DTypeQ, DTypeKV, DTypeO, IdType, MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE, Params, ...)
|
In file included from /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_pybind.cu:16:
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_config.inc:29:111: warning: backslash-newline at end of file
29 | #define DISPATCH_context(DTypeQ, DTypeKV, DTypeO, IdType, MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE, Params, ...)
|
In file included from /data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_pybind.cu:16:
/data/home/deepseek/.cache/flashinfer/90/generated/batch_mla_attention_dtype_q_bf16_dtype_kv_bf16_dtype_o_bf16_dtype_idx_i32_head_dim_ckv_512_head_dim_kpe_64_profiler_False_sm90/batch_mla_sm90_config.inc:29:111: warning: backslash-newline at end of file
29 | #define DISPATCH_context(DTypeQ, DTypeKV, DTypeO, IdType, MASK_MODE, HEAD_DIM_CKV, HEAD_DIM_KPE, Params, ...)
|
ninja: build stopped: subcommand failed.
@Mewral commented on GitHub (Apr 22, 2025):
@kitchen7c 我也尝试了一下GQA_var_batch分支,也是一样的报错
@999wwx commented on GitHub (Apr 23, 2025):
同遇到这个问题,相同的源代码,L20机器可以正常运行,H20机器就不行,不知道是机器的问题还是镜像的问题
@kitchen7c commented on GitHub (Apr 23, 2025):
的确,我也是 H20
@PhzCode commented on GitHub (Apr 24, 2025):
@Mewral @999wwx @kitchen7c 在H20上同样的问题
@Atream commented on GitHub (Apr 29, 2025):
hopper架构上可能会遇到这个问题,是因为我们的custom flashinfer没有修改SM90的相关代码,我们目前手头没有5090的卡,所以暂时没法测试
我简单检查下代码,先让hopper及以后的架构使用非SM90的代码
@Atream commented on GitHub (Apr 29, 2025):
我暂时让hopper架构的卡用SM90之前的代码,但手头没有卡,能帮忙测试下吗?
@Mewral commented on GitHub (Apr 29, 2025):
@Atream 可以,要怎么测试?
@Atream commented on GitHub (Apr 29, 2025):
直接拉取最新代码编译即可
@Mewral commented on GitHub (Apr 29, 2025):
加载是没有问题了,可以正常启动服务,但是请求报错,下面是报错信息,custom_flashinfer还用的是GQA_var_batch分支的,ktransformers用的是main分支最新的代码
@Atream commented on GitHub (Apr 29, 2025):
记得加上--backend_type balance_serve,目前只为balance_serve添加了qwen3的支持
@Atream commented on GitHub (May 6, 2025):
尝试rm ~/.ktransformers/config.yaml
@PhzCode commented on GitHub (May 6, 2025):
这个是transformers版本的问题吗?我看issue里这个报错都是关于qwen的,没有关于deepseek的 @Atream
@PhzCode commented on GitHub (May 6, 2025):
基于https://github.com/kvcache-ai/ktransformers/issues/1238 修改了上面的bug,然后在H20上运行,SM90的custom_flashinfer报错解决 @Atream
@647sherry commented on GitHub (May 12, 2025):
同样的问题,目前装了v0.3版本,没有这个目录,我看到install.sh上已经执行删除了~/.ktransformers,请问有其他可能的解决方案吗?
@647sherry commented on GitHub (May 13, 2025):
已解决,原来home下还有一个.ktransformers目录,rename一下就好了