Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
awslabs avatar

Hyperpod Slurm Debugger

  • 64 installs
  • 850 repo stars
  • Updated August 3, 2026
  • awslabs/agent-plugins

hyperpod-slurm-debugger is a diagnostic-only Claude skill that classifies Slurm scheduler and node-daemon issues on SageMaker HyperPod Slurm clusters.

About

This skill diagnoses Slurm scheduler and node-daemon issues on Amazon SageMaker HyperPod Slurm clusters, such as nodes stuck in down or drain, jobs stuck PENDING or COMPLETING, wrong GPU counts, and unresponsive slurmctld. It runs a diagnostic script, relays output verbatim, and maps each finding to official AWS or Slurm docs without printing any state-mutating command. A developer uses it to triage a stuck Slurm node or job on HyperPod.

  • Diagnostic-only for Slurm scheduler and node-daemon issues on HyperPod Slurm clusters
  • Classifies nodes stuck in down/drain, stuck PENDING/COMPLETING jobs, and slurmctld issues
  • Never prints state-mutating commands; links to official AWS or Slurm docs for remediation

Hyperpod Slurm Debugger by the numbers

  • 64 all-time installs (skills.sh)
  • Ranked #279 of 596 Debugging skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
At a glance

hyperpod-slurm-debugger capabilities & compatibility

Capabilities
hyperpod node debugger · hyperpod nccl · hyperpod cluster debugger · hyperpod ssm
Works with
aws
Use cases
debugging · devops
From the docs

What hyperpod-slurm-debugger says it does

Diagnostic-only. Identify and classify Slurm scheduler and node-daemon issues on HyperPod Slurm clusters. Do not run, recommend, or print any state-mutating command.
SKILL.md
For any remediation, link to AWS or Slurm docs. The user authorizes and executes.
SKILL.md
npx skills add https://github.com/awslabs/agent-plugins --skill hyperpod-slurm-debugger

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs64
repo stars850
Last updatedAugust 3, 2026
Repositoryawslabs/agent-plugins

What it does

Diagnose Slurm scheduler and node-daemon issues on HyperPod Slurm clusters and link to remediation docs.

Who is it for?

Operators triaging stuck Slurm nodes or jobs on HyperPod Slurm clusters

Skip if: EKS clusters, single-node hardware faults, or NCCL training hangs (routes to sibling skills)

When should I use this skill?

A Slurm node is stuck in down/drain or jobs are stuck PENDING or COMPLETING

What you get

Each Slurm finding is classified and linked to the authoritative AWS or Slurm recovery doc.

  • Classified Slurm findings mapped to AWS/Slurm recovery docs

By the numbers

  • 5 decision-table sections (A-E)
  • Read-only mode only, no remediation flag

Files

SKILL.mdMarkdownGitHub ↗

HyperPod Slurm Debugger

Diagnostic-only. Identify and classify Slurm scheduler and node-daemon issues on HyperPod Slurm clusters. Do not run, recommend, or print any state-mutating command. For remediation, link to the official AWS or Slurm documentation.

When to invoke

Invoke when the user reports any of the symptoms in the decision table.

When NOT to invoke

  • Cluster has Orchestrator.Eks — invoke hyperpod-node-debugger or hyperpod-nccl.
  • Single-node hardware fault with healthy Slurm scheduler — invoke hyperpod-node-debugger.
  • NCCL training-hang investigation — invoke hyperpod-nccl.
  • Node unreachable via SSM — invoke hyperpod-ssm.

Constraints

  • Read-only. Do not run, recommend, or print state-mutating commands.
  • For any remediation, link to AWS or Slurm docs. The user authorizes and executes.
  • IaC-managed cluster (Terraform / CloudFormation / CDK): warn that direct mutation

drifts the live state from the IaC plan.

Canonical recovery URLs: references/slurm-details.md → Authoritative recovery documentation.

Prerequisites

  • AWS CLI v2, authenticated for the target account and region with permissions:
  • sagemaker:DescribeCluster, sagemaker:ListClusterNodes
  • ssm:StartSession on the HyperPod-created SSM document
  • Session Manager plugin

installed locally.

  • jq ≥ 1.6.
  • unbuffer (from the expect package). Required — without it aws ssm start-session

returns empty stdout intermittently with Cannot perform start session: EOF and every check silently misreports. Install: expect package on Amazon Linux / RHEL / Debian / Ubuntu / macOS. Script exits at prerequisite check if missing.

Procedure

Step 1 — Collect inputs

Ask the user for:

1. HyperPod cluster name (not Slurm partition name). 2. AWS region. 3. Optional: a specific Slurm node name.

Step 2 — Confirm orchestrator

aws sagemaker describe-cluster --cluster-name <NAME/ARN> --region <REGION> \
  --query 'Orchestrator' --output json

If Orchestrator.Eks is present, stop. Route per When NOT to invoke.

Step 3 — Run the diagnostic script

bash scripts/slurm-diagnose.sh --cluster <NAME> --region <REGION>
# Scope to a node:
bash scripts/slurm-diagnose.sh --cluster <NAME> --region <REGION> --node <SLURM_NODE>

Relay the script output to the user verbatim.

Step 4 — Map findings → docs

For each finding, look up the section in the decision table and link the user to the corresponding AWS / Slurm doc. Do not type out remediation commands.

Decision table

Symptom (sinfo -o "%N %T %30E" or script finding)Section
Node state = down or down*, reason other than belowA: Node Down
Node state = down*, Reason = Node unexpectedly rebootedB: Unexpected Reboot
Jobs PENDING with REASON=Resources while nodes are idleC: Controller State
Jobs stuck COMPLETING after node replacementC: Controller State
scontrol ping returns DOWN for the controllerC: Controller State
GRES (GPU) counts incorrect or not releasedC: Controller State
state=fail issued but no recovery occurredD: Action Reason Mismatch
Accounting errors or RPC errors mentioning dbdC: Controller State (slurmdbd)
slurm.conf edited; new partitions or nodes not visibleC: Controller State (config)
Job exited on a hardware failure but did not restartE: Auto-resume

Defaults

BehaviorDefaultOverride
Moderead-only — always; no remediation flag existsn/a
Region$AWS_DEFAULT_REGION, falling back to us-east-1--region <R>
Scopeall nodes in down / drain / fail / "unexpectedly rebooted"--node <SLURM_NODE_NAME>
Outputcolorized terminal--no-color
SSM target formatsagemaker-cluster:<clusterId>_<instanceGroupName>-<instanceId> (derived)n/a
Controller discovery--controller-group (if set) → SlurmConfig.NodeType=Controllerprovisioning_parameters.json--controller-group <N>

Error handling

FailureSkill behaviorRequired user action
describe-cluster failsPrint AWS error; exit 1Fix credentials/region; verify cluster name
Cluster has Orchestrator.EksExit 1 with pointer to EKS-side skillsUse hyperpod-node-debugger or hyperpod-nccl
session-manager-plugin missing / SSM unreachablesinfo returns empty; exit 1Install plugin; verify node InService
Disk ≥ 95 % full on a down nodeReport finding disk-full-<node>Refer to AWS troubleshooting docs
Missing jq or awsExit 1 at prerequisite checkInstall per Prerequisites

---

A: Node Down

Node is down because slurmd stopped responding. Causes: slurmd crash, disk full, OOM, network partition, hardware fault.

Script checks: systemctl is-active slurmd, srun -w <NODE> hostname (RPC layer), disk, memory.

Link: <https://github.com/aws/sagemaker-hyperpod-cluster-setup/blob/troubleshooting-doc-20250917/troubleshoot/index.md>

If node returns to down after a manual resume → escalate to hyperpod-node-debugger.

Context: references/slurm-details.md § A.

---

B: Unexpected Reboot

Node is down* with Reason "Node unexpectedly rebooted" because slurmd re-registered after an out-of-band reboot. Upstream Slurm behavior, not HyperPod. Node is typically healthy.

Links:

  • <https://github.com/aws/sagemaker-hyperpod-cluster-setup/blob/troubleshooting-doc-20250917/troubleshoot/index.md>
  • <https://slurm.schedmd.com/scontrol.html> (state=resume semantics)

If node reboots again within minutes → escalate to hyperpod-node-debugger.

Context: references/slurm-details.md § B.

---

C: Controller State

slurmctld in-memory state can desync from the on-disk state. A controller restart reloads from StateSaveLocation and clears bad caches. User decides and executes.

Restart may help:

SymptomWhy
PENDING with REASON=Resources, idle nodesRe-evaluates the queue
Jobs stuck COMPLETING after node replacementController held a reference to the old node
GRES (GPU, EFA) not released after a job endsResource accounting de-synced
Nodes stuck Unknown after reboot, slurmd is upRe-registration was not processed
scontrol ping times outController event loop is hung
Lost connection to slurmdbd / RPC errorsDBD connection wedged

Do NOT restart when:

  • HyperPod replacement (Action:Replace) in progress on any node — concurrent changes

fail the replacement.

  • Only one compute node is bad — restart slurmd on that node.
  • sinfo and squeue are responsive — problem is elsewhere.
  • journalctl -u slurmctld not reviewed yet — panic / OOM will reproduce.
  • slurm.conf was just edited — try scontrol reconfigure first.

Folded triggers

  • slurmdbd disconnectedsacct fails, accounting fields show Unknown,

controller log spams Unable to contact slurmdbd. Restore slurmdbd before considering controller restart. <https://slurm.schedmd.com/accounting.html> · details.

  • Stale configslurm.conf / topology.conf mtime > slurmctld start.

scontrol reconfigure first; restart is fallback. <https://slurm.schedmd.com/scontrol.html> · details.

Restart procedure / what's preserved:

  • <https://slurm.schedmd.com/slurmctld.html>
  • <https://github.com/aws/sagemaker-hyperpod-cluster-setup/blob/troubleshooting-doc-20250917/troubleshoot/index.md>

Context: references/slurm-details.md § C.

---

D: Action Reason Mismatch

scontrol update state=fail reason=... was issued with a reason that does not match Action:Reboot or Action:Replace exactly. HyperPod silently ignores anything else. Script detects near-misses on nodes in fail state.

Required strings (case-sensitive, no whitespace, no punctuation):

  • Action:Reboot
  • Action:Replace

Link: <https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm-replace-faulty-instance.html>

Context: references/slurm-details.md § Action reason-string validation.

---

E: Auto-resume

--auto-resume=1 is an srun step option. It re-runs the step after HMA (the Health Monitoring Agent) flags a node and Automatic node recovery replaces it.

Why it didn't restart the job:

  • Flag on sbatch not srun — per-step; sbatch directives are silently ignored.
  • HMA did not flag the node — failure was application/transient, not hardware. Step

exits as a normal Slurm failure.

  • Cluster NodeRecovery is None — faulty nodes are labeled but not replaced.
  • No checkpointing — step restarts from process zero each iteration.
  • AMI predates HMA support (released 2025-09-11) — needs AMI / cluster-software update.

Link: <https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-resiliency-slurm-auto-resume.html>

Context: references/slurm-details.md § HyperPod auto-resume.

---

Escalation

ConditionNext skill
Node returns to down shortly after a manual resumehyperpod-node-debugger (hardware)
slurmd logs contain CUDA / NVIDIA / XID errorshyperpod-node-debugger § G
Disk full or /dev/shm exhaustedhyperpod-node-debugger § I
Node unreachable via SSMhyperpod-ssm
Controller restart does not clear COMPLETING after 2 attemptshyperpod-issue-report + AWS Support

Related skills

FAQ

Will this skill run fixes for me?

No. It is read-only and diagnostic-only; for any remediation it links to official AWS or Slurm docs that you authorize and execute.

What if my cluster runs EKS?

If describe-cluster shows Orchestrator.Eks, it stops and routes you to hyperpod-node-debugger or hyperpod-nccl.

Debugginginframonitoring

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.