forked from zhoulin/zl_bench
bench: rename NO_KERNEL to NO_TRITON and say what it rules out
"NO_KERNEL" reads as "this operator has no kernel", which is not what the verdict means and not usually true. It means the run compiled no Triton kernel: the operator may have run perfectly well through aten or a vendor library, and a GPU kernel certainly executed. What is absent is anything for the Triton compiler pass under test to act on. The note now says that, and says the one alternative explanation is already ruled out: run_pytest.sh gives every run its own TRITON_CACHE_DIR, so zero .ttgir cannot be compilation skipped by a warm cache.
This commit is contained in:
1 parent
4d69320139
commit
1fd3abd56d
2 files changed
+4
-4
No files matched your search
+3
-3
@@ -16,7 +16,7 @@
|
||||
#
|
||||
# IR_CHANGED 两侧 ttgir 不同 -> 排六轮
|
||||
# NO_IR_DIFF 逐字节相同(config 已锁死)-> 跳过,跑六轮只会测到噪声
|
||||
# NO_KERNEL 跑出行但没编出 .ttgir -> 该算子在本后端没走 Triton,
|
||||
# NO_TRITON 跑出行但没编出 .ttgir -> 该算子在本后端没走 Triton,
|
||||
# 编译器开关无从谈起。不是"开关无作用"
|
||||
# NO_ROWS 没有测量行 -> 先修可运行性,多半是 dtype
|
||||
#
|
||||
@@ -93,8 +93,8 @@ count_rows() { grep -c '^SUCCESS' "$1/run.log" 2>/dev/null || true; }
|
||||
verdict=NO_ROWS
|
||||
note="跑不出测量行(rc=$rc_before/$rc_after)。看 run.log——多半是 dtype 不被该算子接受,或它在本后端拿不到 config"
|
||||
elif [[ -z "$fb" || -z "$fa" ]]; then
|
||||
verdict=NO_KERNEL
|
||||
note="没编出 .ttgir:该算子在本后端没走 Triton,编译器开关对它无从谈起。这不是'开关无作用'"
|
||||
verdict=NO_TRITON
|
||||
note="跑出了行但没编出 .ttgir:本次运行没有任何东西经过 Triton。算子本身可能完全正常(多半跑的是 aten 或厂商库),只是被测的编译器 pass 没有作用对象。不是'开关无作用',也不是'没有 kernel'"
|
||||
elif [[ "$fb" == "$fa" ]]; then
|
||||
verdict=NO_IR_DIFF
|
||||
note="两侧 ttgir 逐字节相同(config 已锁死):开关没改变生成代码。先查开关名拼写,再下结论"
|
||||
|
||||
Reference in new issue
Block a user