[KernelGen][thead] Add linalg_eigvals vendor specialization - #167
Conversation
|
/test | linalg_eigvals:thead |
|
Dongxu-H
left a comment
There was a problem hiding this comment.
Geometric mean speedup is 0.930, slower than PyTorch baseline. This CPU-offload implementation is a correctness placeholder but not a performance win.
Dongxu-H
left a comment
There was a problem hiding this comment.
all 中 _linalg_eigvals 应该按字母顺序排列,下划线开头的名称应放在列表最后。
|
/test | linalg_eigvals:thead |
|
faa0f95 to
5f465a5
Compare
|
/test | linalg_eigvals:thead |
❌ On-demand test failedOperator: The test failed to complete. Check the workflow run for details. |
Dongxu-H
left a comment
There was a problem hiding this comment.
Logger should use thead backend-specific format: logging.getLogger(f'flag_gems.runtime._thead.ops.{name.split(".")[-1]}' ) instead of logging.getLogger(name) in backend implementations. Performance shows 0.873x arithmetic mean speedup (slower than reference). Consider whether this specialization is needed if it does not provide performance benefit.
|
/test | linalg_eigvals:thead |
1 similar comment
|
/test | linalg_eigvals:thead |
Dongxu-H
left a comment
There was a problem hiding this comment.
性能 Speedup 0.873,低于 1.0x,Hessenberg 分解后还需要 CPU LAPACK 求解特征值,可以考虑完全在 device 上实现 QR 迭代以提升性能。
|
/test | linalg_eigvals:thead |
1 similar comment
|
/test | linalg_eigvals:thead |
5f465a5 to
c9c8e29
Compare
c9c8e29 to
04045e9
Compare
Summary
Adds a Thead vendor specialization Triton kernel for
linalg_eigvals(eigenvalues of a matrix). Tuned for PPU.Testing
Performance
Test command:
pytest benchmark/test_linalg_eigvals.py --level core(Thead)linalg_eigvals
Files Changed
src/flag_gems/runtime/backend/_thead/ops/linalg_eigvals.py: Thead specialization Triton kernelsrc/flag_gems/runtime/backend/_thead/ops/__init__.py: Register import and__all__