Skip to content

[AMD][DO NOT MERGE] Fix MI35x DeepSeek-V3.2 nightly timeout failures - #19110

Closed
michaelzhang-ai wants to merge 1 commit into
sgl-project:mainfrom
michaelzhang-ai:fix/mi35x-remove-ephemeral-data2-paths
Closed

michaelzhang-ai wants to merge 1 commit into
sgl-project:mainfrom
michaelzhang-ai:fix/mi35x-remove-ephemeral-data2-paths

Conversation

@michaelzhang-ai

@michaelzhang-ai michaelzhang-ai commented Feb 21, 2026

Copy link
Copy Markdown
Collaborator

Motivation

The nightly MI35x DeepSeek-V3.2 tests (nightly-perf-8-gpu-mi35x-deepseek-v32-basic, nightly-accuracy-8-gpu-mi35x-deepseek-v32, etc.) started failing with exit code 255 (timeout) since Feb 21. Feb 20 and earlier were green.

Root Cause

MI35x Kubernetes pod was recycled, causing:

  1. No persistent volume mountCACHE_VOLUME="" in amd_ci_start_container.sh → all caches (HF models, MIOpen kernels, Triton kernels) go to ephemeral container storage
  2. Every CI run must re-download models and recompile all JIT kernels from scratch, adding ~20-30 min overhead to every MI35x job
  3. DeepSeek-V3.2 tests exceed their timeout because 400GB+ model download + kernel compilation + benchmarks > 90 min test timeout limit
  4. Self-perpetuating failure: container is destroyed on timeout, partial downloads are lost, next run starts over

Evidence:

Additionally, DSv32 accuracy tests hardcoded HF_HOME to /data2/models/huggingface (ephemeral pod-local storage), overriding the CI container's persistent volume path even when available.

Modifications

  1. Remove hardcoded /data2 paths from 3 DSv32 MI35x accuracy test files so they inherit HF_HOME=/sgl-data/hf-cache from the CI container
  2. Add model pre-cache step (snapshot_download with 240-min timeout) before each of the 8 MI35x DSv32 test jobs across both ROCm 7.0 and 7.2 workflows
    • Pre-cache checks if model is already cached (>400GB) before downloading
    • Logs cache status and download timing for debugging

Files changed

File Change
nightly-test-amd.yml Add pre-cache step to 4 MI35x DSv32 jobs + temp PR trigger
nightly-test-amd-rocm720.yml Add pre-cache step to 4 MI35x DSv32 jobs + temp PR trigger
test_deepseek_v32_eval_mi35x.py Remove /data2 HF_HOME override
test_deepseek_v32_mtp_eval_mi35x.py Remove /data2 HF_HOME override
test_deepseek_v32_dp_eval_mi35x.py Remove /data2 HF_HOME override

Note: pull_request triggers are temporary for CI testing and will be removed before merge.

Please help review. @yctseng0211, @bingxche.

Accuracy Tests

Benchmarking and Profiling

Checklist

Review Process

  1. Ping Merge Oncalls to start the PR flow. See the PR Merge Process.
  2. Get approvals from CODEOWNERS and other reviewers.
  3. Trigger CI tests with comments or contact authorized users to do so.
    • /tag-run-ci-label, /rerun-failed-ci, /tag-and-rerun-ci
  4. After green CI and required approvals, ask Merge Oncalls to merge.

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@michaelzhang-ai
michaelzhang-ai force-pushed the fix/mi35x-remove-ephemeral-data2-paths branch 2 times, most recently from d849666 to 86297d9 Compare February 23, 2026 19:54
MI35x DSv32 accuracy tests hardcoded HF_HOME to /data2/models/huggingface,
which is ephemeral pod-local storage. When pods are recycled, model weights
(~400GB) must be re-downloaded, exceeding test timeouts.

The download never completes within the test timeout, and partial downloads
are lost when the container exits, creating a self-perpetuating failure.

Changes:
- Remove hardcoded /data2 HF_HOME/HF_HUB_CACHE from 3 DSv32 MI35x
  accuracy test files (eval, mtp_eval, dp_eval) so they inherit
  HF_HOME=/sgl-data/hf-cache from the CI container
- Add pre-cache step (snapshot_download, 240-min timeout) before each
  of the 8 MI35x DSv32 test jobs across both ROCm 7.0 and 7.2 workflows
- Pre-cache checks if model is already cached before downloading
- Add temporary pull_request triggers for CI testing
@michaelzhang-ai
michaelzhang-ai force-pushed the fix/mi35x-remove-ephemeral-data2-paths branch from 86297d9 to cfe0b5c Compare February 23, 2026 19:58
@michaelzhang-ai michaelzhang-ai changed the title [AMD][CI] Remove hardcoded /data2 paths from MI35x tests to fix pod recycle failures [AMD][DO NOT MERGE] Fix MI35x DeepSeek-V3.2 nightly timeout failures Feb 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant