Skip to content

graph_trainer: add named EP overlap schedules - #4022

Closed
sanketpurandare wants to merge 1 commit into
gh/sanketpurandare/10/basefrom
gh/sanketpurandare/10/head
Closed

graph_trainer: add named EP overlap schedules#4022
sanketpurandare wants to merge 1 commit into
gh/sanketpurandare/10/basefrom
gh/sanketpurandare/10/head

Conversation

@sanketpurandare

@sanketpurandare sanketpurandare commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Stack from ghstack (oldest at bottom):

Summary

Add an explicit named-schedule mode alongside the dependency-driven auto
scheduler. Schedules use typed token-exchange, module-FQN, and ready-filler
anchors, and the DeepSeek-v3 policy represents the calibrated forward,
saved-backward, and full-recompute ordering.

Token anchors schedule only the dependency closure needed to launch an
exchange. Every exchange must be covered exactly, and malformed or
dependency-invalid schedules fail with region context.

Why

Named schedules make communication/compute placement reproducible and allow
model-aware alternatives to greedy filling without adding model-specific
branches to the generic scheduler.

Test Plan

  • Validate unknown schedule names and DeepSeek-v3 provider applicability.
  • Run an exact two-rank DeepSeek-v3 comparison between named and auto graph
    schedules.
  • Compare both loss and gradient norm for 20 steps with full recomputation,
    forced-balanced routing, and regional Inductor.

## Summary

Add an explicit named-schedule mode alongside the dependency-driven auto
scheduler. Schedules use typed token-exchange, module-FQN, and ready-filler
anchors, and the DeepSeek-v3 policy represents the calibrated forward,
saved-backward, and full-recompute ordering.

Token anchors schedule only the dependency closure needed to launch an
exchange. Every exchange must be covered exactly, and malformed or
dependency-invalid schedules fail with region context.

## Why

Named schedules make communication/compute placement reproducible and allow
model-aware alternatives to greedy filling without adding model-specific
branches to the generic scheduler.

## Test Plan

- Validate unknown schedule names and DeepSeek-v3 provider applicability.
- Run an exact two-rank DeepSeek-v3 comparison between named and auto graph
  schedules.
- Compare both loss and gradient norm for 20 steps with full recomputation,
  forced-balanced routing, and regional Inductor.

[ghstack-poisoned]
@sanketpurandare

Copy link
Copy Markdown
Contributor Author

Closing this experimental named-schedule direction and removing it from the landing stack. The retained stack uses the shared automatic scheduler and bounded MinimalAsyncEP copies.

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

Labels

ciflow/8gpu CLA Signed This label is managed by the Meta Open Source bot.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant