已关闭
[Requirement|需求建议]: 新增 Ascend950 Basic SYRK(Y = X @ X^T)模板、样例与 optest #489
void_ptr创建于  6 天前关闭于  3 天前
void_ptr
6 天前 创建

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=XXT,XRM×K, YRM×MY = X \cdot X^{T},\quad X\in\mathbb{R}^{M\times K},\ Y\in\mathbb{R}^{M\times M}

CATLASS 已有 Ascend950 Basic Matmul 等通用矩阵乘路径,但缺少面向对称结果的专用模板:用完整 Matmul 计算 XXTXX^{T} 会重复计算上/下三角,无法利用 Y=YTY=Y^{T} 减少计算量。本需求补齐 Basic SYRK 的库模板、example 与 optest,形成与现有 Ascend950 样例一致的交付。

Origin / 信息来源 (Mandatory / 必填)

团队内部:Ascend950 算子模板补齐。

Benefit and necessity / 价值及作用 (Optional / 选填)

  1. 利用对称性减少相对完整 Matmul 约一半的 Cube 计算。
  2. 补齐 Ascend950 上 XXTXX^{T} / Gram 一类对称自乘路径的模板与可运行样例。
  3. 通过 optest 接入回归,便于后续复用与精度验证。

Design / 设计方案 (Optional / 选填)

在 Basic Matmul 路径上复用 L1/L0 pingpong,仅调度下三角(含对角)Block,再经 L0C→GM 的 nz2nd / nz2dn 双写补全上三角;双写使用 M_FIX 同步,不启用 unitFlag。
主要交付:

  • BlockMmadSyrkTla / BasicSyrkTla,以及 ColumnMajor 转置写回增强
  • examples/82_ascend950_basic_syrk
  • torch_catlass.ascend950_basic_syrk + pytest
likedislike
Vvoid_ptr
6 天前 关联了pull request:Add Ascend950 SYRK block/kernel implementation
Vvoid_ptr
6 天前 关联了pull request:[WIP]Add optest for Ascend950 basic SYRK (82)
longjihui
longjihui成员
6 天前 评论:

/assign@void_ptr

likedislike
CANN-robotCANN-robot成员
6 天前 将 void_ptr 设为负责人
longjihuilongjihui成员
6 天前 添加了label:requirement
Vvoid_ptr
3 天前 issue状态由 进行中 改变为 已完成
Vvoid_ptr
3 天前 关闭了 issue