Skip to content

Add CPU verification backend for Triton kernel correctness testing#168

Merged
hellozmz merged 1 commit intomainfrom
kzx/dev
Apr 2, 2026
Merged

Add CPU verification backend for Triton kernel correctness testing#168
hellozmz merged 1 commit intomainfrom
kzx/dev

Conversation

@Truth-Ke
Copy link
Copy Markdown
Collaborator

@Truth-Ke Truth-Ke commented Apr 2, 2026

This commit introduces the CPU verification mechanism to validate Triton kernels without NPU hardware. Key changes include:

  • Add cpu_backend.py: CPU-based execution backend using LLVM/MLIR infrastructure
  • Add DebugCPUVerifyPass: Validates that external dialect ops are lowered before CPU execution
  • Add test/ascend/cpu_verify/: Minimal test cases for vec_add, matmul, and flash attention

Usage:
export DLC_CPU_VERIFY=1
export LLVM_BINARY_DIR=/path/to/llvm/bin
python test/ascend/cpu_verify/test_vec_add.py

The CPU backend converts Triton IR to LLVM IR via MLIR passes and executes natively on CPU for rapid iteration and debugging.

This commit introduces the CPU verification mechanism to validate Triton
kernels without NPU hardware. Key changes include:

- Add cpu_backend.py: CPU-based execution backend using LLVM/MLIR infrastructure
- Add DebugCPUVerifyPass: Validates that external dialect ops are lowered before CPU execution
- Add test/ascend/cpu_verify/: Minimal test cases for vec_add, matmul, and flash attention

Usage:
  export DLC_CPU_VERIFY=1
  export LLVM_BINARY_DIR=/path/to/llvm/bin
  python test/ascend/cpu_verify/test_vec_add.py

The CPU backend converts Triton IR to LLVM IR via MLIR passes and executes
natively on CPU for rapid iteration and debugging.
@Truth-Ke Truth-Ke closed this Apr 2, 2026
@Truth-Ke Truth-Ke reopened this Apr 2, 2026
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

在github上配置下测试的action:.github/workflows/main.yml。每次提交代码时候触发下测试用例。

os.environ.setdefault("DLC_CPU_VERIFY", "1")
os.environ.setdefault(
"LLVM_BINARY_DIR",
"/mnt/data01/kezengxiang/work/third_party/llvm-project/build_064f02dac0c81c19350a74415b3245f42fed09dc/bin",
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

可以删除么

@@ -0,0 +1 @@
https://github.com/llvm/llvm-project/commit/3be3883e6d67bf908fd12b51219075293ebb3dff
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

现在项目里使用的版本是 064f02dac0c81c19350a74415b3245f42fed09dc
为什么没有复用

@hellozmz hellozmz merged commit 443cade into main Apr 2, 2026
8 of 9 checks passed
@hellozmz hellozmz deleted the kzx/dev branch April 2, 2026 08:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants