Skip to content

BLT: vectorize patch length processing#47385

Merged
Rocketknight1 merged 1 commit into
huggingface:mainfrom
sj0618:perf/blt-patch-lengths-no-sync
Jul 21, 2026
Merged

BLT: vectorize patch length processing#47385
Rocketknight1 merged 1 commit into
huggingface:mainfrom
sj0618:perf/blt-patch-lengths-no-sync

Conversation

@sj0618

@sj0618 sj0618 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

CI

Summary

process_patch_lengths iterated over GPU tensors in Python and called .item() for every positive patch length. This can synchronize the host with the device repeatedly during BLT inference.

The implementation now performs chunk counting, segment construction, padding, and compaction with tensor operations. The generated modeling_blt.py copy is updated from modular_blt.py, and a regression test covers uneven patch lengths and zero padding.

Related issue

Addresses #42422.

Verification

  • ruff check on all changed Python files
  • ruff format --check after formatting
  • direct CPU correctness check for both modular and generated implementations
  • py_compile on implementation and test files
  • GPU benchmark unavailable on this machine

@github-actions

Copy link
Copy Markdown
Contributor

[For maintainers] Suggested jobs to run (before merge)

run-slow: blt

@github-actions

Copy link
Copy Markdown
Contributor

CI recap

Dashboard: View test results in Grafana
Latest run: 29596943439
Result: success | Grafana metrics are not available yet.

@Rocketknight1 Rocketknight1 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, this looks like a clean vectorization optimization to me!

@Rocketknight1

Copy link
Copy Markdown
Member

run-slow: blt

@github-actions

Copy link
Copy Markdown
Contributor

Workflow Run ⚙️

This comment contains run-slow, running the specified jobs:

models: ["models/blt"]
quantizations: []

@github-actions

Copy link
Copy Markdown
Contributor

CI Results

Workflow Run ⚙️

Commit Info

Context Commit Description
RUN 9b5b741a workflow commit (merge commit)
PR fd4ef9e2 branch commit (from PR)
main 9a0fe3f5 base commit (on main)

✅ No failing test specific to this PR 🎉 👏 !

@HuggingFaceDocBuilderDev

Copy link
Copy Markdown

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

@Rocketknight1
Rocketknight1 added this pull request to the merge queue Jul 21, 2026
Merged via the queue into huggingface:main with commit 84cc3bc Jul 21, 2026
38 checks passed
SangbumChoi added a commit to SangbumChoi/transformers that referenced this pull request Jul 22, 2026
* upstream/main: (39 commits)
  Remove deprecated training args and `is_fast` property (huggingface#46917)
  Consistent output shape from `get_image_features` (huggingface#46405)
  Fix multi-device mxfp4 dequantization race in `_convert_moe_packed_tensors` (huggingface#47423)
  fix failed test cases for qwen3_omni_moe model (huggingface#47449)
  Fix Hunyuan-VL PIL image resize parity with reference preprocessing (huggingface#47233)
  Move `value` padding into the attention interfaces that need it (huggingface#47451)
  Simplify function dispatch for linear attention (huggingface#47450)
  [cache] Allow sliding window layers to be roll-backed for speculative decoding (huggingface#47447)
  Fix double-shifted training loss in GitForCausalLM (huggingface#47395)
  Fix CohereASR training-loss double-shift (same as Moonshine fix huggingface#46784) (huggingface#46895)
  Warn when `group_by_length` is silently ignored for iterable datasets (huggingface#47379)
  Update bug report list (huggingface#46607)
  Fix shape mismatch in KyutaiSpeechToText `generate()` last window (huggingface#46952)
  Optimize flash attention max seqlen computation in vision attention (huggingface#47170)
  fix: remove unreachable return in special token builder (huggingface#47420)
  Add Harry to slow CI (huggingface#47454)
  BLT: vectorize patch length processing (huggingface#47385)
  Fix `TrackioCallback` fails to log evaluation metrics after training ends (huggingface#46935)
  [Kimi] add integration tests (huggingface#47383)
  Fix typo in `MusicgenForCausalLM.generate()` (huggingface#46974)
  ...
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