[DNM][AMD] job.slurm: add RDMA library version consistency check across all nodes#1710
[DNM][AMD] job.slurm: add RDMA library version consistency check across all nodes#1710seungrokj wants to merge 1 commit into
Conversation
…l nodes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Thanks for the contribution! For vLLM & SGLang, please ensure that your recipes is similar to the official vLLM recipes and/or the SGLang cookbook If it is not, please create a PR first before we can merge your single node PR into the master branch. Let's ensure that the documentation is first class such that the entire ML community can benefit from your hard work! Thank you PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. If re-running failed jobs is attempted, PR authors are responsible for ensuring it passes. See GitHub's docs on re-running failed jobs: https://docs.github.com/en/actions/how-tos/manage-workflow-runs/re-run-workflows-and-jobs#re-running-failed-jobs-in-a-workflow As a rule of thumb, generally, PR authors should request a review & get a PR approval from the respective companies' CODEOWNERS before requesting a review from core maintainers. If additional help is needed, PR authors can reach out to core maintainers over Slack. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 3 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit dac1b82. Configure here.
| # eval "$DOCKER_CMD_DETECT"; $DOCKER_CMD rm -f '"$ROUTER_CONT_NAME"' 2>/dev/null || true | ||
| # ' | ||
| # fi | ||
| #fi |
There was a problem hiding this comment.
Job launch path commented out
High Severity
After _check_rdma_lib_versions succeeds, the script ends because node selection, Docker setup, and the main srun workload are entirely commented out. Slurm jobs appear to succeed but never start benchmarks or containers.
Reviewed by Cursor Bugbot for commit dac1b82. Configure here.
| echo "[rdma-check] FATAL: RDMA library version mismatch detected across nodes. Aborting." >&2 | ||
| exit 1 | ||
| fi | ||
| echo "[rdma-check] All RDMA library versions consistent across nodes." |
There was a problem hiding this comment.
Missing libraries pass check
Medium Severity
The RDMA check only compares resolved paths across nodes. If every node returns MISSING or SSH_FAIL, they all match the reference and the function exits successfully without confirming libraries exist or are reachable.
Reviewed by Cursor Bugbot for commit dac1b82. Configure here.
| # Exported as a snippet so every srun participant resolves it locally. | ||
| export DOCKER_CMD_DETECT='if docker ps &>/dev/null 2>&1; then DOCKER_CMD=docker; else DOCKER_CMD="sudo docker"; fi' | ||
| local all_ok=1 | ||
| declare -A ref_versions # lib -> reference resolved path (from first node) |
There was a problem hiding this comment.
Unused ref_versions declaration
Low Severity
declare -A ref_versions is added with a comment about storing per-library reference paths, but the associative array is never read or written anywhere in _check_rdma_lib_versions.
Reviewed by Cursor Bugbot for commit dac1b82. Configure here.


Summary
_check_rdma_lib_versions()function injob.slurmthat runs before job launch$SLURM_JOB_NODELISThave identical versions of:/usr/lib/x86_64-linux-gnu/libionic.so.1.*/usr/lib/x86_64-linux-gnu/libibverbs.so.1.*/usr/lib/x86_64-linux-gnu/libibverbs/libionic-rdmav34.soreadlink -fto get the actual versioned library pathexit 1) if any node has a mismatched versionlibibverbs.so.1.14.39.0overlibibverbs.so.1.14.57.0in_find_host_ibverbs()Test plan
🤖 Generated with Claude Code
Note
High Risk
Commenting out the Docker/srun launch path would stop all multi-node benchmarks from running; the RDMA check also depends on passwordless SSH to every allocated node.
Overview
Adds a pre-launch
_check_rdma_lib_versionsgate injob.slurmthat SSHs to every host in$SLURM_JOB_NODELIST, resolves three RDMA-related libraries viareadlink -f, logs each node’s path, and aborts the job if any node differs from the first.Important: the diff also comments out the entire downstream launch path (node selection, IP resolution, NFS refresh, Docker
srun, router lifecycle, cleanup). After the new check, the script currently ends without starting containers—likely temporary for debugging unless restored before merge.Reviewed by Cursor Bugbot for commit dac1b82. Bugbot is set up for automated code reviews on this repo. Configure here.