You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support: simplify benchmark workflow and fix case filtering
- Restructure benchmark_rounds.sh to prefer test_*.py over run_example.py
- Fix: only pass --manual include to test_*.py; run_example.py does not
support this flag and would crash when case_name is specified
Copy file name to clipboardExpand all lines: .claude/skills/benchmark/SKILL.md
+12-23Lines changed: 12 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -87,17 +87,7 @@ npu-smi info
87
87
88
88
Pick devices with **HBM-Usage = 0**. Find the longest consecutive sub-range (at most 4). If no idle device is found, prompt user to specify a device ID.
89
89
90
-
## Step 3: Pin PTO-ISA
91
-
92
-
Extract pinned commit from `.github/workflows/ci.yml`:
93
-
94
-
```bash
95
-
PTO_ISA_COMMIT=$(grep -oP '(?<=-c )\w+' .github/workflows/ci.yml | head -1)
96
-
```
97
-
98
-
Append `-c $PTO_ISA_COMMIT` to benchmark args so `run_example.py` picks it up.
99
-
100
-
## Step 4: Prepare — Compute Absolute Paths
90
+
## Step 3: Compute Absolute Paths
101
91
102
92
The Bash tool resets its working directory to the project root on every call. Relative paths like `cd worktree && ...` are fragile and easy to forget. **Compute absolute paths once, then use them everywhere.**
**Do NOT use `cd` + relative `./tools/...`** — this is the #1 source of silent errors (running the wrong workspace).
120
110
121
-
## Step 5: Run Benchmarks
111
+
## Step 4: Run Benchmarks
122
112
123
113
### Single Mode
124
114
@@ -141,7 +131,7 @@ Pure Python files (`bindings.py`, `code_runner.py`) are resolved via `sys.path`
141
131
142
132
**Solution: always create a venv in the worktree** (~26s overhead). This builds both the nanobind extension AND runtime binaries, fully isolating the baseline.
143
133
144
-
#### 5a. Create worktree, venv, and build
134
+
#### 4a. Create worktree, venv, and build
145
135
146
136
Inline the **absolute** worktree path (copy-paste the value, do not rely on shell variables persisting):
2>&1| tee "${PROJECT_ROOT}/tmp/benchmark_baseline_${TIMESTAMP}_${RUNTIME}.txt"
169
159
```
170
160
171
161
**Always include `pwd &&` after `cd` to verify you are in the correct directory.** If `pwd` does not print the worktree path, something went wrong — do not proceed.
172
162
173
-
#### 5c. Run current
163
+
#### 4c. Run current
174
164
175
165
```bash
176
166
# Runs from the main workspace (Bash tool default cwd)
0 commit comments