From 54834c7644049ab7584530d46a577093eaa2fdde Mon Sep 17 00:00:00 2001 From: root Date: Tue, 18 Aug 2026 17:26:02 +0000 Subject: [PATCH] [fix] baseline4 ops_sh fix --- qwen3_6_scripts/patch_corex_copy_blocks.py | 33 ---------------------- qwen3_6_scripts/patch_corex_swap_blocks.py | 29 +++++++++++++++++++ qwen3_6_scripts/patch_ops.sh | 3 +- 3 files changed, 30 insertions(+), 35 deletions(-) delete mode 100644 qwen3_6_scripts/patch_corex_copy_blocks.py diff --git a/qwen3_6_scripts/patch_corex_copy_blocks.py b/qwen3_6_scripts/patch_corex_copy_blocks.py deleted file mode 100644 index a64b79d4..00000000 --- a/qwen3_6_scripts/patch_corex_copy_blocks.py +++ /dev/null @@ -1,33 +0,0 @@ -from patch_utils import package_root, replace_once - - -CUSTOM_OPS = package_root("vllm") / "_custom_ops.py" - -CLEAN_BLOCK = """\ -def copy_blocks(key_caches: List[torch.Tensor], - value_caches: List[torch.Tensor], - block_mapping: torch.Tensor) -> None: - ixf_F.copy_blocks(key_caches, value_caches, block_mapping) -""" - -COMPATIBLE_BLOCK = """\ -def copy_blocks(key_caches: List[torch.Tensor], - value_caches: List[torch.Tensor], - block_mapping: torch.Tensor) -> None: - # BI100 CoreX 3.2.3 exposes vllm_copy_blocks, not copy_blocks. - _fn = getattr(ixf_F, "copy_blocks", None) or getattr( - ixf_F, "vllm_copy_blocks", None) - if _fn is None: - raise RuntimeError( - "ixformer exposes neither copy_blocks nor vllm_copy_blocks") - _fn(key_caches, value_caches, block_mapping) -""" - - -replace_once( - CUSTOM_OPS, - CLEAN_BLOCK, - COMPATIBLE_BLOCK, - required=True, - already_contains="BI100 CoreX 3.2.3 exposes vllm_copy_blocks", -) diff --git a/qwen3_6_scripts/patch_corex_swap_blocks.py b/qwen3_6_scripts/patch_corex_swap_blocks.py index 0988bffd..888fa9ea 100644 --- a/qwen3_6_scripts/patch_corex_swap_blocks.py +++ b/qwen3_6_scripts/patch_corex_swap_blocks.py @@ -63,3 +63,32 @@ replace_once( required=True, already_contains="BI100 CoreX 3.2.3 exposes vllm_swap_blocks", ) + +# ---------- copy_blocks: same naming mismatch ---------- +COPY_CLEAN = """\ +def copy_blocks(key_caches: List[torch.Tensor], + value_caches: List[torch.Tensor], + block_mapping: torch.Tensor) -> None: + ixf_F.copy_blocks(key_caches, value_caches, block_mapping) +""" + +COPY_COMPAT = """\ +def copy_blocks(key_caches: List[torch.Tensor], + value_caches: List[torch.Tensor], + block_mapping: torch.Tensor) -> None: + # BI100 CoreX 3.2.3 exposes vllm_copy_blocks, not copy_blocks. + _fn = getattr(ixf_F, "copy_blocks", None) or getattr( + ixf_F, "vllm_copy_blocks", None) + if _fn is None: + raise RuntimeError( + "ixformer exposes neither copy_blocks nor vllm_copy_blocks") + _fn(key_caches, value_caches, block_mapping) +""" + +replace_once( + CUSTOM_OPS, + COPY_CLEAN, + COPY_COMPAT, + required=True, + already_contains="BI100 CoreX 3.2.3 exposes vllm_copy_blocks", +) \ No newline at end of file diff --git a/qwen3_6_scripts/patch_ops.sh b/qwen3_6_scripts/patch_ops.sh index 2f27c912..7d277766 100755 --- a/qwen3_6_scripts/patch_ops.sh +++ b/qwen3_6_scripts/patch_ops.sh @@ -149,9 +149,8 @@ cp ./bi100_profile.py "${VLLM_ROOT}/bi100_profile.py" cp ./block_major_kv_cache.py "${VLLM_ROOT}/block_major_kv_cache.py" cp ./gdn_prefix.py "${VLLM_ROOT}/gdn_prefix.py" -build_stage "installing CoreX paged-KV swap/copy compatibility" +build_stage "installing CoreX paged-KV swap compatibility" python3 ./patch_corex_swap_blocks.py -python3 ./patch_corex_copy_blocks.py python3 ./patch_block_major_cache_engine.py python3 ./patch_worker_cache_transfer_order.py