Skip to content

[BugFix][KVCache] Fix mm hash boundary comparison in get_block_hash_extra_keys#6929

Open
kevincheng2 wants to merge 1 commit intoPaddlePaddle:developfrom
kevincheng2:fix/mm_hash_calc_pr
Open

[BugFix][KVCache] Fix mm hash boundary comparison in get_block_hash_extra_keys#6929
kevincheng2 wants to merge 1 commit intoPaddlePaddle:developfrom
kevincheng2:fix/mm_hash_calc_pr

Conversation

@kevincheng2
Copy link
Collaborator

@kevincheng2 kevincheng2 commented Mar 19, 2026

Motivation

修复 get_block_hash_extra_keys 中多模态图像位置与 block 边界比较的 off-by-one 错误。当图像恰好与 block 相接(image_end == block_start)时,原代码使用 < 判断导致图像被误判为与 block 有重叠,影响 prefix cache 的 hash 计算正确性。

Modifications

  • image_offset + image_length < start_idx 改为 <=(2处:快速返回检查和循环内跳过检查)
  • 新增边界条件单元测试,覆盖图像与 block 的各种位置关系

Usage or Command

无需额外配置,修复自动生效。

Checklist

  • Add at least a tag in the PR title.
  • Format your code, run pre-commit before commit.
  • Add unit tests.
  • Provide accuracy results.

🤖 Generated with Claude Code

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


chengyanfu seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@paddle-bot
Copy link

paddle-bot bot commented Mar 19, 2026

Thanks for your contribution!

…xtra_keys

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@codecov-commenter
Copy link

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (develop@dd93f8f). Learn more about missing BASE report.

Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #6929   +/-   ##
==========================================
  Coverage           ?   73.25%           
==========================================
  Files              ?      399           
  Lines              ?    55608           
  Branches           ?     8764           
==========================================
  Hits               ?    40736           
  Misses             ?    11955           
  Partials           ?     2917           
Flag Coverage Δ
GPU 73.25% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants