Skip to content

[executorch][muse] Export vision with the CUDA batching contract - #24064

Merged
meta-codesync[bot] merged 3 commits into
gh/Gasoonjia/87/basefrom
gh/Gasoonjia/87/head
Nov 5, 2026
Merged

meta-codesync[bot] merged 3 commits into
gh/Gasoonjia/87/basefrom
gh/Gasoonjia/87/head

Conversation

[ghstack-poisoned]
@pytorch-bot

pytorch-bot Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

🔗 Helpful Links

🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/executorch/24064

Note: Links to docs will display an error until the docs builds have been completed.

❌ You can merge normally! (1 Unrelated Failure), 1 Unclassified Failure

As of commit 3472428 with merge base 5e8d11b (image):

UNCLASSIFIED FAILURE - DrCI could not classify the following job because the workflow did not run on the merge base. The failure may be pre-existing on trunk or introduced by this PR:

BROKEN TRUNK - The following job failed but were present on the merge base:

👉 Rebase onto the `viable/strict` branch to avoid these failures

This comment was automatically generated by Dr. CI and updates every 15 minutes.

@github-actions

Copy link
Copy Markdown

This PR needs a release notes: label

If your change should be included in the release notes (i.e. would users of this library care about this change?), please use a label starting with release notes:. This helps us keep track and include your important work in the next release notes.

To add a label, you can comment to pytorchbot, for example
@pytorchbot label "release notes: none"

For more information, see
https://github.com/pytorch/pytorch/wiki/PyTorch-AutoLabel-Bot#why-categorize-for-release-notes-and-how-does-it-work.

[ghstack-poisoned]
[ghstack-poisoned]
meta-codesync Bot pushed a commit that referenced this pull request Nov 5, 2026
…ckends

Stack from [ghstack](https://github.com/ezyang/ghstack/tree/0.15.0) (oldest at bottom):
* #24076
* #24107
* #24075
* #24074
* #24073
* #24072
* #24066
* #24065
* #24064
* #24063
* __->__ #24062

Move the MLX executor's EngineEmbeddings (vision encoder + embed_text +
MuseGlimmerMaterializer) into runtime/model_embeddings so the CUDA batching
executors can materialize prepared image inputs the same way. MLX behavior is
unchanged; it now holds a MuseGlimmerModelEmbeddings.

Differential Revision: D125987290

Pull Request resolved: #24062
meta-codesync Bot pushed a commit that referenced this pull request Nov 5, 2026
Stack from [ghstack](https://github.com/ezyang/ghstack/tree/0.15.0) (oldest at bottom):
* #24076
* #24107
* #24075
* #24074
* #24073
* #24072
* #24066
* #24065
* #24064
* __->__ #24063
* #24062

Steps that carry a prepared (image) input run forward_from_embeddings with the
materialized rows; token-only steps keep the static forward_{N} methods and
their CUDA graphs. SessionTable packs prepared rows as placeholders so the
cache still plans their positions.

Differential Revision: D125987291

Pull Request resolved: #24063
@meta-codesync
meta-codesync Bot merged commit 745acd2 into gh/Gasoonjia/87/base Nov 5, 2026
@meta-codesync
meta-codesync Bot deleted the gh/Gasoonjia/87/head branch November 5, 2026 09:04
meta-codesync Bot pushed a commit that referenced this pull request Nov 5, 2026
Stack from [ghstack](https://github.com/ezyang/ghstack/tree/0.15.0) (oldest at bottom):
* #24076
* #24107
* #24075
* #24074
* #24073
* #24072
* #24066
* __->__ #24065
* #24064
* #24063
* #24062

The CUDA backend factory builds the image preparation spec from the shared
embeddings engine, and serve_batching passes --pos-embed-path through, so
image requests are served on regular CUDA batching.

Differential Revision: D125987293

Pull Request resolved: #24065
meta-codesync Bot pushed a commit that referenced this pull request Nov 5, 2026
Stack from [ghstack](https://github.com/ezyang/ghstack/tree/0.15.0) (oldest at bottom):
* #24076
* #24107
* #24075
* #24074
* #24073
* #24072
* __->__ #24066
* #24065
* #24064
* #24063
* #24062

The CUDA DFlash executor accepts prepared image inputs on admission; image
steps run the target from embeddings, then hidden taps and drafting proceed as
for tokens.

Differential Revision: D125987295

Pull Request resolved: #24066
Gasoonjia added a commit that referenced this pull request Nov 5, 2026
)

This PR was created by the merge bot to help merge the original PR into
the main branch.
ghstack PR number: #24064 by
@Gasoonjia
^ Please use this as the source of truth for the PR details, comments,
and reviews
ghstack PR base:
https://github.com/pytorch/executorch/tree/gh/Gasoonjia/87/base
ghstack PR head:
https://github.com/pytorch/executorch/tree/gh/Gasoonjia/87/head
Merge bot PR base:
https://github.com/pytorch/executorch/tree/gh/Gasoonjia/86/orig
Merge bot PR head:
https://github.com/pytorch/executorch/tree/gh/Gasoonjia/87/orig
Differential Revision:
[D125987292](https://our.internmc.facebook.com/intern/diff/D125987292/)
@diff-train-skip-merge

Co-authored-by: gasoonjia <gasoonjia@icloud.com>

This branch was previously deployed

2 inactive deployments
cherry-pick-bot — 3472428e Deployed Nov 5, 2026 by meta-codesync[bot]
cadence — 3472428e Deployed Nov 5, 2026 by Gasoonjia
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants