modelopt-monitor
Skill5.6k starsChanged 3 days agoApache-2.0View on GitHub
Monitor submitted jobs (PTQ, evaluation, deployment) on SLURM clusters. Use when the user asks "check job status", "is my job done", "monitor my evaluation", "what's the status of the PTQ", "check on job" followed by a SLURM job ID, or after any skill submits a long-running job. Also triggers on "nel status", "squeue", or any request to check progress of a previously submitted job.
Trending
More talk lately.about the whole repository
Who's talking about NVIDIA/Model-Optimizer
- @github-trending.bsky.social“📦 NVIDIA / Model-Optimizer ⭐ 3,886 (+22) 🗒 Python A unified library of SOTA model optimization techniques …”Bluesky · Sep 25, 2026 · 5 likes
- onnxsim/onnxsim“Maintaining status of this project”GitHub · Jan 6, 2026 · 5 reactions
- vllm-project/vllm“Add LM head quantization support for ModelOpt”GitHub · May 8, 2026 · 4 reactions
- @chrisshort.net“to optimize inference speed. #devopsish”Bluesky · Sep 27, 2026 · 1 likes
- @dailygithubtrends.bsky.social“今日のGitHubトレンド NVIDIA/Model-Optimizer NVIDIA Model Optimizerは、量子化やプルーニング、蒸留などの手法を用いてモデルを高速化するためのライブラリです。 …”Bluesky · Sep 26, 2026 · 1 likes
The biggest 5 of 54 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 54
Talked about on GitHub and Bluesky (54 times).
On GitHub · 50
- Jan 6, 2026Maintaining status of this project — onnxsim/onnxsim5 reactions · 4 comments
- May 8, 2026Add LM head quantization support for ModelOpt — vllm-project/vllm4 reactions · 7 comments
- Apr 12, 2026Add support for ModelOpt MXFP8 non-gated MoE with ReLU2 — vllm-project/vllm1 reaction · 3 comments
- Apr 2, 2026[Bugfix] Fix NVFP4+MTP crash: force unquantized mtp.fc for Qwen3.5 — vllm-project/vllm1 reaction
- Feb 8, 2026[ModelOpt MXFP8] — sgl-project/sglang1 reaction · 5 comments
45 more on GitHub
- Jan 21, 2026ORT inference fails after upgrading model's opset from 20 to 21 — microsoft/onnxruntime1 reaction · 5 comments
- Nov 15, 2026Watch list: who to follow and where (Edge0 upstream, Qwen4, llama.cpp, MLX, the labs) — toshi38/Edge00 reactions
- Nov 14, 2026Bump nvidia-modelopt from 0.47.0 to 0.48.0 — marek-burza/shrubbery0 reactions
- Nov 11, 2026build(deps-dev): bump nvidia-modelopt from 0.47.0 to 0.48.0 — verl-project/verl0 reactions · 4 comments
- Nov 10, 2026Prepare ModelOpt catalog onboarding: original six skills plus QAD — NVIDIA/skills0 reactions
- Nov 8, 2026build(deps-dev): bump nvidia-modelopt from 0.47.0 to 0.48.0 — ysq111333/verl_jev0 reactions
- Nov 5, 2026python3Packages.nvidia-modelopt: 0.47.0 -> 0.48.0 — NixOS/nixpkgs0 reactions · 1 comment
- Nov 2, 2026claude-code-marketplaces.github.nvidia.model-optimizer: 0.47.0 → 0.48.0 — sudosubin/agents.nix0 reactions
- Nov 2, 2026codex-plugins.github.nvidia.model-optimizer: 0.47.0 → 0.48.0 — sudosubin/agents.nix0 reactions
- Nov 2, 2026claude-code-plugins.github.nvidia.model-optimizer: 0.47.0 → 0.48.0 — sudosubin/agents.nix0 reactions
- Nov 2, 2026build(deps): Update nvidia-modelopt requirement from ~=0.47.0 to ~=0.48.0 — Jonah-May-OSS/wyoming-whisper-trt0 reactions · 2 comments
- Nov 2, 2026codex-marketplaces.github.nvidia.model-optimizer: 0.47.0 → 0.48.0 — sudosubin/agents.nix0 reactions
- Oct 28, 2026claude-code-plugins.github.nvidia.model-optimizer: init at 0.47.0 — sudosubin/agents.nix0 reactions
- Oct 28, 2026claude-code-marketplaces.github.nvidia.model-optimizer: init at 0.47.0 — sudosubin/agents.nix0 reactions
- Oct 28, 2026[ONNX GraphSurgeon] Export fails for a single initializer larger than 2 GiB before external-data saving — NVIDIA/TensorRT0 reactions · 2 comments
- Oct 28, 2026[Bug] make_graph serializes an individual >2 GiB initializer before external-data saving — onnx/onnx0 reactions
- Oct 26, 2026build(deps-dev): bump nvidia-modelopt from 0.44.0 to 0.47.0 — WncFht/verl-opd0 reactions
- Oct 22, 2026chore(deps-dev): Bump nvidia-modelopt from 0.44.0 to 0.47.0 — yiqiu0215/verl-main0 reactions
- Oct 14, 2026Bump nvidia-modelopt from 0.44.0 to 0.47.0 — zery00568/verlxx0 reactions
- Oct 8, 2026Add native packed-cache attention tests — yingguo-trt/Model-Optimizer0 reactions
- Oct 8, 2026Add inline-media CLI HTTP tests — yeyu-nvidia/Model-Optimizer0 reactions
- Oct 8, 2026Add FP8 zero-scale and export tests — raashish1601/Model-Optimizer0 reactions
- Oct 8, 2026Add native CUDA coverage for MXFP4 packing — raashish1601/Model-Optimizer0 reactions
- Oct 8, 2026Add NVFP4 offloaded export tests and collector typing — niko4244/Model-Optimizer0 reactions
- Oct 4, 2026codex-plugins.github.nvidia.model-optimizer: init at 0.47.0 — sudosubin/agents.nix0 reactions
- Oct 4, 2026codex-marketplaces.github.nvidia.model-optimizer: init at 0.47.0 — sudosubin/agents.nix0 reactions
- Oct 2, 2026build(deps-dev): bump nvidia-modelopt from 0.44.0 to 0.47.0 — ydwhhh/gspo0 reactions
- Sep 30, 2026build(deps-dev): bump nvidia-modelopt from 0.44.0 to 0.47.0 — verl-project/verl0 reactions · 1 comment
- Sep 29, 2026Admin AI: Install skills https://github.com/mattpocock/skills https://github.com/ — mehrshadevilb-cell/ArtistYar-Website0 reactions
- Sep 29, 2026Admin AI: Install skills https://github.com/mattpocock/skills https://github.com/ — mehrshadevilb-cell/ArtistYar-Website0 reactions
- Sep 27, 2026🔥 GitHub Trending AI 早报 · 2026-09-27 · Top 6 项目 — happydog-intj/ai-xiaohongshu-daily0 reactions
- Sep 27, 2026🔥 GitHub Trending AI 早报 · 2026-09-27 · Top 6 项目 — Mystery406/ai-xiaohongshu-daily0 reactions
- Sep 27, 2026Github trending [NVIDIA/Model-Optimizer] 一站式模型量化优化加速 — web1992/github-trending0 reactions
- Sep 26, 2026🔥 GitHub Trending AI 早报 · 2026-09-27 · Top 6 项目 — Mystery406/ai-xiaohongshu-daily0 reactions
- Sep 26, 2026🔥 GitHub Trending AI 早报 · 2026-09-27 · Top 6 项目 — happydog-intj/ai-xiaohongshu-daily0 reactions
- Sep 25, 2026Github trending [NVIDIA/Model-Optimizer] 模型推理加速优化库 — web1992/github-trending0 reactions
- Sep 19, 2026Bump nvidia-modelopt from 0.46.0 to 0.46.1 — marek-burza/shrubbery0 reactions
- Sep 17, 2026Add Anima 2B support to Model Optimizer for calibrated PTQ and future NVFP4 QAT/QAD — ruwwww/Model-Optimizer0 reactions
- Sep 16, 2026build(deps-dev): bump nvidia-modelopt from 0.44.0 to 0.46.1 — verl-project/verl0 reactions · 1 comment
- Sep 15, 2026Bump nvidia-modelopt from 0.44.0 to 0.46.1 — HuipengHuang/opd-rl0 reactions
- Sep 9, 2026build(deps-dev): bump nvidia-modelopt from 0.44.0 to 0.46.0 — HuipengHuang/verl-baseline0 reactions
- Sep 9, 2026[None][docs] retarget ModelOpt examples llm_ptq paths to hf_ptq — NVIDIA/TensorRT-LLM0 reactions · 1 comment
- Sep 4, 2026DeepSeek-V4-Pro-0813-NVFP4 — Bibbleq/frontier-model-tracker0 reactions · 1 comment
- Aug 28, 2026[Doc] Broken links in READMEs referencing files removed by legacy TensorRT backend cleanup — NVIDIA/TensorRT-LLM0 reactions · 1 comment
- Aug 19, 2026Fix ModelOpt integration for the >=0.44 list quant_cfg format — huggingface/diffusers0 reactions
On Bluesky · 4
- Sep 25, 2026📦 NVIDIA / Model-Optimizer ⭐ 3,886 (+22) 🗒 Python A unified library of SOTA model optimization techniques like quantization,… — @github-trending.bsky.social5 likes and reposts
- Sep 27, 2026to optimize inference speed. #devopsish — @chrisshort.net1 likes and repost
- Sep 26, 2026今日のGitHubトレンド NVIDIA/Model-Optimizer NVIDIA Model Optimizerは、量子化やプルーニング、蒸留などの手法を用いてモデルを高速化するためのライブラリです。 Hugging… — @dailygithubtrends.bsky.social1 likes and repost
- Sep 25, 20265. NVIDIA Model-Optimizer Library for Deployment LINK 6. World Action Agent for Robot Manipulation via VLMs LINK — @hackobar.bsky.social0 likes and reposts · 1 reply
In this repository33 other files it gives its agents.
- AGENTS.mdAGENTS.md
- tools/debugger/CLAUDE.mdCLAUDE.md
- tools/launcher/CLAUDE.mdCLAUDE.md
- accessing-mlflowSkill
- benchmark-model-kernelsSkill
- commonSkill
- compare-resultsSkill
- day0-releaseSkill
- debugSkill
- deploymentSkill
- evaluationSkill
- launching-evalsSkill
- modelopt-accessing-mlflowSkill
- modelopt-benchmark-model-kernelsSkill
- modelopt-compare-resultsSkill
- modelopt-day0-releaseSkill
- modelopt-debugSkill
- modelopt-deploymentSkill
- modelopt-evaluationSkill
- modelopt-launching-evalsSkill
- modelopt-ptqSkill
- modelopt-qadSkill
- modelopt-quant-recipe-searchSkill
- modelopt-release-cherry-pickSkill
- modelopt-run-agentxSkill
- modelopt-speculative-decodingSkill
- monitorSkill
- ptqSkill
- qadSkill
- quant-recipe-searchSkill
- release-cherry-pickSkill
- run-agentxSkill
- speculative-decodingSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 5 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 23
Use the current agent session id as <session_id>:
- Distinctive: line 27
If no session id is available, create a stable id for the current terminal session and reuse it for every job registered by that agent
- Distinctive: line 63
Every time a job is submitted (by any skill or manually):
- Distinctive: line 70
Always do both steps. Don't try to predict job duration.
- Very specific: line 126
On failure: Look for Traceback, Error, or FAILED in the output.
- Distinctive: line 150
On failure: Check the job's output log file.
- Distinctive: line 156
When the user asks about a job without specifying an ID, check in order:
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Job Monitor
Monitor jobs submitted to SLURM clusters — PTQ quantization, NEL evaluation, model deployment, or raw SLURM jobs.
When to use
- Auto-monitor — another skill (PTQ, evaluation, deployment) just submitted a job. Register the job and set up monitoring immediately.
- User-initiated — user asks about a job status. Check the current session registry first; if the job is not registered there, use the discovery steps below.
Job Registry
Active jobs are tracked in per-session registries under .claude/agents/.
This avoids multiple agents clobbering one shared registry when they run at
the same time.
Use the current agent session id as <session_id>:
- Claude Code:
$CLAUDE_CODE_SESSION_ID, or thesession_idfield from hook input - Codex:
$CODEX_THREAD_ID - If no session id is available, create a stable id for the current terminal session and reuse it for every job registered by that agent
Registry layout:
.claude/agents/
<session_id>/
active_jobs.jsonEach session's active_jobs.json is a JSON array:
[
{
"type": "nel",
"id": "<invocation_id or slurm_job_id>",
"host": "<cluster_hostname>",
"user": "<ssh_user>",
"submitted": "YYYY-MM-DD HH:MM",
"description": "<what this job does>",
"last_status": "<last known status>",
"owner": {
"agent": "claude-code|codex|manual",
"session_id": "<session_id>"
}
}
]type is one of: nel, slurm, launcher.
On Job Submission
Every time a job is submitted (by any skill or manually):
- Add an entry to
.claude/agents/<session_id>/active_jobs.json. Create the session directory and file if they don't exist. - Start a durable monitor (if one isn't already watching the registry) that polls this session's registered jobs until they reach terminal status. Prefer the Claude Code
Monitortool when it is available: write a small watcher that reads.claude/agents/<session_id>/active_jobs.json, checks every job with the appropriate method below, prints state-change events, updateslast_status, removes terminal jobs from the session registry, and exits when no active jobs remain for this session.
The monitor should terminate naturally when every registered job has reached a terminal state. If the Monitor tool is not available in the current harness, run an equivalent background process that implements the same loop and lets the agent resume/restart when the process exits.
Always do both steps. Don't try to predict job duration.
On Monitor Event / Status Check
Whether triggered by monitor output or by the user asking "check status":
- Read the registry from
.claude/agents/<session_id>/active_jobs.json - Check each job using the appropriate method (see below)
- Report only state changes — compare against
last_statusin registry - Update
last_statusin the session registry - Remove completed jobs — any job in a terminal state (COMPLETED, FAILED, CANCELLED, KILLED, TIMEOUT, NODE_FAIL, OUT_OF_MEMORY, PREEMPTED, BOOT_FAIL, DEADLINE)
- If no active jobs remain — let the monitor exit
How to Check Each Job Type
Each check method has its own status vocabulary. A watcher that mixes them
(e.g. uses SLURM's COMPLETED terminal-state regex against nel status output)
will silently never fire terminal transitions. Always match against the
vocabulary of the source you're polling.
NEL jobs (type: nel)
- Check:
nel status <id>.
extract_nel_state() {
local jid="$1" nel_bin="${NEL:-nel}" output state_col
output=$("$nel_bin" status "$jid" 2>&1)
state_col=$(echo "$output" \
| awk -F'|' -v prefix="$jid." 'index($1, prefix) == 1 { print $2; exit }')
[ -z "$state_col" ] && state_col="$output"
echo "$state_col" \
| LC_ALL=C tr '[:lower:]' '[:upper:]' \
| awk 'match($0, /(PENDING|RUNNING|SUCCESS|FAILED|KILLED|ERROR|NOT[[:space:]]+FOUND)/) { print substr($0, RSTART, RLENGTH); exit }' \
| sed 's/[[:space:]][[:space:]]*/ /g'
}
is_nel_terminal() {
case "$(extract_nel_state "$1")" in
SUCCESS|FAILED|KILLED|ERROR|"NOT FOUND") return 0 ;;
*) return 1 ;;
esac
}- On completion:
nel info <id>to fetch results. - On failure:
nel info <id> --logsthen inspect server/client/SLURM logs via SSH.
Launcher jobs (type: launcher)
- Check: Tail the launcher's background output file for key events.
- Key events: experiment ID, SLURM job ID, container import, calibration progress, export path, final status.
- On failure: Look for
Traceback,Error, orFAILEDin the output.
Raw SLURM jobs (type: slurm)
- Check:
sacct; usesacctfor the termination check becausesqueuecan lag inCOMPLETINGaftersacctreports a terminal state.
extract_slurm_state() {
local jid="$1" host="$2"
ssh "$host" "sacct -j $jid -X --format=State --noheader -P 2>/dev/null | head -1" \
| sed 's/^[[:space:]]*//;s/[[:space:]]*$//' \
| sed 's/^CANCELLED by .*/CANCELLED/'
}
is_slurm_terminal() {
case "$(extract_slurm_state "$1" "$2")" in
COMPLETED|FAILED|CANCELLED|TIMEOUT|NODE_FAIL|OUT_OF_MEMORY|PREEMPTED|BOOT_FAIL|DEADLINE) return 0 ;;
*) return 1 ;;
esac
}- On completion:
ssh <host> "sacct -j <id> --format=State,ExitCode,Elapsed -n". - On failure: Check the job's output log file.
Identifying Jobs (user-initiated, no ID given)
When the user asks about a job without specifying an ID, check in order:
.claude/agents/<current_session_id>/active_jobs.json— current agent's jobsnel ls runs --since 1d— recent NEL runsssh <host> "squeue -u <user>"— active SLURM jobsls -lt tools/launcher/experiments/cicd/ | head -10— recent launcher experiments
Reporting Guidelines
- Report state changes proactively — PENDING → RUNNING, or job completes
- Aggregate multiple jobs — "2 of 4 completed (MMLU-Pro: 42.3%, GSM8K: 67.1%), 1 running, 1 pending"
- Summarize, don't echo — interpret events ("Calibration complete, exporting checkpoint") not raw logs
- On failure, diagnose immediately — check logs and report root cause without waiting for user to ask
- Minimize noise — don't report "still running" unless the user is actively asking
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

