-
Notifications
You must be signed in to change notification settings - Fork 293
[AMD] Fix slurm command for AMD devices #934
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1024,4 +1024,21 @@ | |
| - "Only non-TP8 configs are affected; TP8 already uses all GPUs on the node" | ||
| - "May yield performance improvements" | ||
| pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/931 | ||
|
|
||
|
|
||
| - config-keys: | ||
| - dsr1-fp4-mi355x-atom | ||
| - dsr1-fp4-mi355x-atom-mtp | ||
| - dsr1-fp4-mi355x-sglang | ||
| - dsr1-fp4-mi355x-sglang-disagg | ||
| - dsr1-fp4-mi355x-sglang-disagg-mtp | ||
| - dsr1-fp8-mi355x-sglang | ||
| - dsr1-fp8-mi355x-sglang-disagg | ||
| - dsr1-fp8-mi355x-sglang-disagg-mtp | ||
| - gptoss-fp4-mi355x-atom | ||
| - gptoss-fp4-mi355x-vllm | ||
| - minimaxm2.5-fp8-mi355x-vllm | ||
| description: | ||
| - "Add --exclusive flag to MI355X single-node salloc and multi-node sbatch to prevent node sharing during benchmarks" | ||
|
Comment on lines
+1038
to
+1041
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 The perf-changelog description "Only non-TP8 configs listed; TP8 already uses all GPUs on the node" is factually inaccurate — several listed configs are TP=8 (e.g., Extended reasoning...What the Bug IsThe new perf-changelog entry describes the --exclusive flag change with: "Only non-TP8 configs listed; TP8 already uses all GPUs on the node." This differs meaningfully from the PR #931 entry it was based on, which read: "Only non-TP8 configs are affected; TP8 already uses all GPUs on the node." The Specific IssueThe difference is one word: "affected" (PR #931) vs "listed" (this PR). In PR #931, "affected" correctly meant the --exclusive flag only has a performance impact for non-TP8 sub-configurations, since TP8 already occupies all 8 GPUs making --exclusive redundant for them. "Listed" instead implies only non-TP8 config-keys appear in this entry, which is false. Why the Description Is InaccurateThe listed config-keys clearly include TP=8 configurations:
One refutation argued that all listed configs have non-TP8 variants and the description is just imprecisely worded. However, this fails for Step-by-Step Proof
ImpactDocumentation-only inaccuracy with no functional impact on the correct --exclusive flag change. However, readers consulting the perf-changelog to understand which configurations benefit from --exclusive would be misled into thinking TP=8 configs were intentionally excluded. How to FixChange "Only non-TP8 configs listed" back to "Only non-TP8 configs are affected" (matching PR #931 intent), making clear this notes that TP8 does not benefit from --exclusive — not that TP8 configs are absent from the list. |
||
| - "Only non-TP8 configs listed; TP8 already uses all GPUs on the node" | ||
| pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/934 | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -159,7 +159,7 @@ else | |
| LOCK_FILE="${SQUASH_FILE}.lock" | ||
|
|
||
| set -x | ||
| salloc --partition=$PARTITION --gres=gpu:$TP --cpus-per-task=128 --time=180 --no-shell --job-name="$RUNNER_NAME" | ||
| salloc --partition=$PARTITION --gres=gpu:$TP --exclusive --cpus-per-task=128 --time=180 --no-shell --job-name="$RUNNER_NAME" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🔴 This PR fixes --exclusive for MI355X salloc but leaves MI325X (runners/launch_mi325x-amd.sh) and MI300X (runners/launch_mi300x-amds.sh) without the flag, making the fix incomplete relative to the PR title "[AMD] Fix slurm command for AMD devices". The already-merged perf-changelog from PR #931 explicitly documents that --exclusive on MI325X salloc prevents node sharing, but the corresponding code change was never applied, creating a contradiction between documented behavior and actual behavior. Extended reasoning...What the bug is and how it manifests This PR re-adds The specific code path that triggers it For MI325X single-node benchmarks, the Why existing code does not prevent it The git history makes the gap clear: PR #929 added Addressing the refutation One verifier argues the omission is intentional, citing a commit from PR #929 that said "scope PR to MI355X only, remove MI325X changes. MI325X now has its own PR (#931)." However, PR #931 never added Impact The PR description shows benchmark screenshots demonstrating measurable performance regression without Step-by-step proof
How to fix it Add |
||
| JOB_ID=$(squeue --name="$RUNNER_NAME" -h -o %A | head -n1) | ||
|
|
||
| srun --jobid=$JOB_ID bash -c "docker stop \$(docker ps -a -q)" | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.