Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
需要在 Ascend950(CATLASS_ARCH=3510)上支持对称秩更新(SYRK):
CATLASS_ARCH=3510
Y=X⋅XT,X∈RM×K, Y∈RM×MY = X \cdot X^{T},\quad X\in\mathbb{R}^{M\times K},\ Y\in\mathbb{R}^{M\times M} Y=X⋅XT,X∈RM×K, Y∈RM×M
CATLASS 已有 Ascend950 Basic Matmul 等通用矩阵乘路径,但缺少面向对称结果的专用模板:用完整 Matmul 计算 XXTXX^{T}XXT 会重复计算上/下三角,无法利用 Y=YTY=Y^{T}Y=YT 减少计算量。本需求补齐 Basic SYRK 的库模板、example 与 optest,形成与现有 Ascend950 样例一致的交付。
团队内部:Ascend950 算子模板补齐。
在 Basic Matmul 路径上复用 L1/L0 pingpong,仅调度下三角(含对角)Block,再经 L0C→GM 的 nz2nd / nz2dn 双写补全上三角;双写使用 M_FIX 同步,不启用 unitFlag。 主要交付:
M_FIX
BlockMmadSyrkTla
BasicSyrkTla
examples/82_ascend950_basic_syrk
torch_catlass.ascend950_basic_syrk
/assign@void_ptr
Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
Backgroud / 背景信息 (Mandatory / 必填)
需要在 Ascend950(
CATLASS_ARCH=3510)上支持对称秩更新(SYRK):Y=X⋅XT,X∈RM×K, Y∈RM×M
CATLASS 已有 Ascend950 Basic Matmul 等通用矩阵乘路径,但缺少面向对称结果的专用模板:用完整 Matmul 计算 XXT 会重复计算上/下三角,无法利用 Y=YT 减少计算量。本需求补齐 Basic SYRK 的库模板、example 与 optest,形成与现有 Ascend950 样例一致的交付。
Origin / 信息来源 (Mandatory / 必填)
团队内部:Ascend950 算子模板补齐。
Benefit and necessity / 价值及作用 (Optional / 选填)
Design / 设计方案 (Optional / 选填)
在 Basic Matmul 路径上复用 L1/L0 pingpong,仅调度下三角(含对角)Block,再经 L0C→GM 的 nz2nd / nz2dn 双写补全上三角;双写使用
M_FIX同步,不启用 unitFlag。主要交付:
BlockMmadSyrkTla/BasicSyrkTla,以及 ColumnMajor 转置写回增强examples/82_ascend950_basic_syrktorch_catlass.ascend950_basic_syrk+ pytest