Skip to content

[ci] Skip incompatible spmd_types model integration test variants#3888

Open
wwwjn wants to merge 1 commit into
mainfrom
fix-model-ci
Open

[ci] Skip incompatible spmd_types model integration test variants#3888
wwwjn wants to merge 1 commit into
mainfrom
fix-model-ci

Conversation

@wwwjn

@wwwjn wwwjn commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Contents

The spmd_types backend variants are auto-generated for every model test in
tests/integration_tests/models.py, but two combinations can never pass and
were red in model CI:

  • spmd_types + torch.compile (deepseek_v3, gpt_oss, qwen3 helion):
    dynamo cannot trace spmd_types' tensor-subclass machinery (setattr of
    _local_type on tensors, custom all_to_all collectives), so the backend
    fails inside the spmd_types library regardless of typechecking.
  • qwen3_5 + spmd_types: qwen3_5 is not wired for spmd_types; its
    parallelize path resolves the legacy flattened fsdp mesh axis, which is
    absent under spmd_types (which exposes dp_shard/cp).

_enable_spmd_backend now skips those variants. The 6 supported spmd_types
variants and all base tests are unchanged.

Tests

Reproduced and verified locally (8x H100, spmd_types installed):

  • deepseek_v3_fsdp+ep+compile_spmd_types fails with
    torch._dynamo.exc.Unsupported: setattr() on unsupported type at
    deepseek_v3/model.py spmd.assert_type -> confirms spmd_types + compile is
    unfixable here.
  • qwen3_5 is not spmd_types-capable (Invalid mesh dim: 'fsdp').
  • All 6 kept spmd_types variants pass (rc=0): deepseek_v3_pp+fsdp+tp+ep,
    deepseek_v3_hsdp+ep, gpt_oss_pp+fsdp+ep+sacop, qwen3_fsdp+tp+cp_no_sp,
    qwen3_moe_fsdp+tp+ep_param_groups, qwen3_non_fused_qkv_fsdp+tp+cp.

The spmd_types backend variants are auto-generated for every model test, but
two combinations can never pass and were red in model CI:

- spmd_types + torch.compile: dynamo cannot trace spmd_types' tensor-subclass
  machinery (setattr of _local_type on tensors, custom all_to_all collectives),
  so the backend fails inside the spmd_types library regardless of typechecking.
- qwen3_5 + spmd_types: qwen3_5 is not wired for spmd_types; its parallelize
  path resolves the legacy flattened `fsdp` mesh axis, which is absent under
  spmd_types (which exposes `dp_shard`/`cp`).

Skip generating those variants. The 6 supported spmd_types variants and all
base tests are unchanged.
@wwwjn wwwjn requested review from fegin, tianyu-l and wconstab as code owners July 8, 2026 16:23
@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Jul 8, 2026
@wwwjn wwwjn changed the title [tests] Skip incompatible spmd_types model integration test variants [Cci] Skip incompatible spmd_types model integration test variants Jul 8, 2026
@wwwjn wwwjn changed the title [Cci] Skip incompatible spmd_types model integration test variants [ci] Skip incompatible spmd_types model integration test variants Jul 8, 2026
@wwwjn wwwjn requested a review from pianpwk July 8, 2026 16:24

@pianpwk pianpwk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

compile is unexpected, i'll follow up

Comment on lines 230 to +231
*model_tests,
*[_enable_spmd_backend(t, "spmd_types") for t in model_tests],
*[t for t in spmd_tests if t is not None],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

do we need to keep both? I think we could do

  • compile / qwen3.5: non-spmd_types
  • others: spmd_types

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.

3 participants