Skip to content

Commit f465e8e

Browse files
committed
test: Add cluster filtering to bindiff
1 parent 617bb6e commit f465e8e

2 files changed

Lines changed: 19 additions & 2 deletions

File tree

test/bindiff_manifest.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,14 @@
33
"golden_bin": "generators/radiance/cyclotron/test/golden-tensors/C_out.mxgemm.bf16.m128n128k256.bin",
44
"trace_table": "dmem",
55
"trace_kind": "write",
6-
"trace_address": "0x40000000,0x40008000"
6+
"trace_address": "0x40000000,0x40008000",
7+
"cluster_id": 0
78
},
89
"mxgemm.fp8.m64n64k64.tm64tn64tk64.fullout": {
910
"golden_bin": "generators/radiance/cyclotron/test/golden-tensors/C_out.mxgemm.bf16.m64n64k64.bin",
1011
"trace_table": "dmem",
1112
"trace_kind": "write",
12-
"trace_address": "0x40000000,0x40002000"
13+
"trace_address": "0x40000000,0x40002000",
14+
"cluster_id": 0
1315
}
1416
}

test/run_binary_tests.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,9 @@ def run_bindiff(
176176
trace_table = bindiff_spec.get("trace_table", "dmem")
177177
trace_kind = bindiff_spec.get("trace_kind", "all")
178178
trace_address = bindiff_spec.get("trace_address")
179+
cluster_id = bindiff_spec.get("cluster_id")
180+
core_id = bindiff_spec.get("core_id")
181+
warp = bindiff_spec.get("warp")
179182

180183
if not isinstance(golden_rel, str) or not golden_rel:
181184
return ("fail", "bindiff manifest missing golden_bin", None)
@@ -185,6 +188,12 @@ def run_bindiff(
185188
return ("fail", "bindiff manifest has invalid trace_kind", None)
186189
if trace_address is not None and not isinstance(trace_address, str):
187190
return ("fail", "bindiff manifest has invalid trace_address", None)
191+
if cluster_id is not None and not isinstance(cluster_id, int):
192+
return ("fail", "bindiff manifest has invalid cluster_id", None)
193+
if core_id is not None and not isinstance(core_id, int):
194+
return ("fail", "bindiff manifest has invalid core_id", None)
195+
if warp is not None and not isinstance(warp, int):
196+
return ("fail", "bindiff manifest has invalid warp", None)
188197

189198
sqlite_path = sim_dir / f"{elf.name}.sqlite"
190199
golden_bin = chipyard_dir / golden_rel
@@ -219,6 +228,12 @@ def run_bindiff(
219228
]
220229
if trace_address is not None:
221230
trace_cmd.extend(["--address", trace_address])
231+
if cluster_id is not None:
232+
trace_cmd.extend(["--cluster", str(cluster_id)])
233+
if core_id is not None:
234+
trace_cmd.extend(["--core", str(core_id)])
235+
if warp is not None:
236+
trace_cmd.extend(["--warp", str(warp)])
222237

223238
bindiff_cmd = [
224239
sys.executable,

0 commit comments

Comments
 (0)