Borrowing it
Nothing to install: this file belongs to AMDResearch/ai4science-studio. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/AMDResearch/ai4science-studio/main/.cursor/skills/ai4science-perf-analysis/SKILL.mdgit clone --depth 1 https://github.com/AMDResearch/ai4science-studioWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/amdresearch/ai4science-studio/ai4science-perf-analysis)<a href="https://agentmods.dev/skills/amdresearch/ai4science-studio/ai4science-perf-analysis"><img src="https://agentmods.dev/badge/skills/amdresearch/ai4science-studio/ai4science-perf-analysis/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/amdresearch/ai4science-studio/ai4science-perf-analysis"><img src="https://agentmods.dev/badge/skills/amdresearch/ai4science-studio/ai4science-perf-analysis.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00127 | $0.10894 |
| Opus 5 | $0.00063 | $0.05447 |
| Sonnet 5 | $0.00025 | $0.02179 |
| Haiku 4.5 | $0.00013 | $0.01089 |
Grade A, and why
ai4science-perf-analysis scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 155 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AI4Science perf-analysis (multi-subagent bottleneck workflow)
When this skill applies
The user wants an automated bottleneck analysis of a multi-node training/inference run using AMD's open-source observability tooling (TraceLens, Omnistat). This is distinct from the ai4science-run-models skill — that one launches a model; this one diagnoses a model after it runs.
Default target: HydraGNN on AMD MI355X. ORBIT-2 training uses the same perf-analysis pattern; see earth_science/models/ORBIT-2/recipes/perf-analysis/. ORBIT-2 iterative sysopt (throughput-primary FOM) lives in earth_science/models/ORBIT-2/recipes/perf-optimizer-loop/ (run_optimizer_loop.sh, lever_catalog.yaml).
Repository entry points
HydraGNN
- Recipe: material_science/models/HydraGNN/recipes/perf-analysis/
- Iterative-loop recipe: material_science/models/HydraGNN/recipes/perf-optimizer-loop/ — see
dispatch-attribution.md(current-best attribution) andlever_catalog.yaml(levers tried / blocked with evidence) - Sbatch wrapper: material_science/models/HydraGNN/examples/sbatch_train_perf_amd.sh
- Reusable node-health probe: material_science/models/HydraGNN/examples/microbench_node_health.sh
- Agent prompt files:
material_science/models/HydraGNN/recipes/perf-analysis/agents/*.mdandmaterial_science/models/HydraGNN/recipes/perf-optimizer-loop/agents/*.md
ORBIT-2
- Recipe: earth_science/models/ORBIT-2/recipes/perf-analysis/ — see
README.md(FOM contract, defaults, landmines) andgemm-attribution.md(GEMM-time finding + levers) - Iterative sysopt loop: earth_science/models/ORBIT-2/recipes/perf-optimizer-loop/ — primary accept/revert FOM
throughput_samples_per_s(run_fom_extractor.py+manifest.global_batch_size) - Sbatch: earth_science/models/ORBIT-2/examples/sbatch_train_perf_amd.sh
- Plain training: earth_science/models/ORBIT-2/examples/sbatch_train_amd.sh
- Scaling: run_scaling_study.sh + collate_scaling_study.py
- FOM parser: parse_training_log.py — latency
steady_batch_time_s; throughput whenglobal_batch_sizeis known;loss_sanity_passrequires strictly decreasing epoch losses - FOM extractor: run_fom_extractor.py — writes
foms.json; optional PromQL viaORBIT2_TSDB_URL; omnistat template defaults to bf16 MFMA profilehbm_flops_bf16(FETCH_SIZE+SQ_INSTS_VALU_MFMA_MOPS_BF16); setOMNISTAT_ROCPROF_PROFILE=hbm_flops_f64to revert to fp64 HydraGNN-style counters - Artifacts:
$AI4S_SHARED_DIR/models/ORBIT-2/perf-runs/<jobid>/ - Workload:
intermediate_downscaling.pyvia run_orbit2_train.py, or Bayes-CASTtrain_edm.py/launch_diffusion.shwhen present (seesbatch_train_amd.sh/sbatch_train_perf_amd.sh). Studioorbit2_rank_hook_runner.pyappliesORBIT2_RANK_PRE_TRAIN_HOOKbefore the launcher (set hook path beforesbatchso the wrapper bakes it into the rank script). - Data: 10.0_arcmin PRISM same-dir (
interm_8m_prism.yaml) or ERA5 1.0° same-dir (interm_8m_era5.yaml,ORBIT2_CONFIG_TEMPLATE) — timing only until true downscaling targets are staged; for HBM saturation see STAGING_ERA5_FOR_HBM.md - Profiler: orbit2_profiler_hook.py via
ORBIT2_RANK_PRE_TRAIN_HOOK(res_slimvit path; Bayes EDM defaults to no hook unless overridden)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 155 lines · 127 tokens per session scan A 177ce84d8841
ai4science-perf-analysis is a skill published in the GitHub repository AMDResearch/ai4science-studio (4 stars, last pushed 1mo ago), licensed MIT. It adds 127 tokens to every session and 10,894 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
batch-processing-clinical-text
Run large-scale batch NER, PII extraction, or de-identification over many clinical notes on-device with OpenMed, with sharding, checkpointing, resumability, and append-only JSONL output. Use when the user needs to process a corpus or folder of notes, de-identify a dataset, run NER over thousands of documents, build a…
exporting-to-fhir
Convert OpenMed NER output (entities from openmed.analyzetext) into FHIR R4 resources — Condition, MedicationStatement, Observation — using OpenMed's built-in FHIR R4 export helpers in openmed.clinical.exporters. Covers the verified CodeableConcept builder (coding, codeableconcept, systemuri), deterministic fullUrl…
loading-openmed-models
Load OpenMed clinical/biomedical NER models from the Hugging Face Hub or a local path and reuse them efficiently across calls. Use when the user wants to load an OpenMed model, control the model cache, run fully offline after a one-time download, reuse a ModelLoader to avoid reloading, set a cachedir or device, or…
choosing-openmed-models
Discover and pick the right OpenMed model for a clinical or biomedical task, domain, or language. Use when the user asks which OpenMed model to use, wants to list model categories, find a Disease vs Oncology vs Privacy/PII model, get a PII model for a specific language, search models by size or task, or inspect a…
extracting-clinical-entities
Run clinical and biomedical named-entity recognition on medical text with OpenMed's analyzetext. Use when the user wants to extract diseases, drugs, anatomy, genes, or other biomedical entities from notes; needs NER output as dict/json/html/csv; wants to filter by confidence, group entities, toggle sentence detection…
normalizing-rxnorm
Normalizes drug mentions extracted by OpenMed to RxNorm RxCUIs using the free public RxNav/RxNorm REST API. Use when the user wants to code, standardize, or de-duplicate medication names, resolve a brand/generic/ingredient to a stable RxCUI, link strength+dose-form to an SCD/SBD, attach NDCs, or build a US Core…