已关闭
Development Roadmap (2026 Q1) #1
zhuzhiming创建于  1月24日关闭于  4月24日
zhuzhiming成员
1月24日 创建

Focus

  • 基础算子:提供适配Ascend NPU的BLAS算子,
  • 工程构建:提供基础的工程能力, 支持代码仓编译、安装、测试。

基础算子

  • 基础算子:提供适配Ascend NPU的BLAS算子, 具体包括支持单精度实数和单精度复数的下列基础线性代数操作:
    aclblasIamax() - 找出向量中最大元素的索引(实数:S/D,复数:C/Z)
    aclblasI
    amin() - 找出向量中最小元素的索引
    aclblasasum() - 计算向量元素的绝对值之和
    aclblas
    axpy() - 向量标量乘法和向量加法(y = ax + y)
    aclblas
    copy() - 向量复制
    aclblasdot() - 向量点积(实数:S/D,复数:C/Z)
    aclblas
    dotc() - 共轭向量点积(复数:C/Z)
    aclblasnrm2() - 向量欧几里得范数
    aclblas
    rot() - 应用平面旋转
    aclblasscal() - 向量缩放
    aclblas
    swap() - 交换向量
    aclblasgemv() - 一般矩阵-向量乘法
    aclblas
    gerc() - 一般矩阵的共轭秩1更新(复数:C/Z)
    aclblasgeru() - 一般矩阵的秩1更新(复数:C/Z,不共轭)
    aclblas
    syr() - 对称矩阵的秩1更新
    aclblassyr2() - 对称矩阵的秩2更新
    aclblas
    gemm() - 一般矩阵乘法(C = αAB + βC)
    aclblas
    syrk() - 对称矩阵秩k更新
    aclblassyr2k() - 对称矩阵秩2k更新
    aclblas
    trmm() - 三角矩阵乘法
    aclblas*trsm() - 求解三角线性系统(多右端项)

工程能力

  • 编译: 支持基于AscendC、 cann-toolkit构建BLAS算子Run包;
    软件包名字中携带soc版本号:cann-{soc}-{仓名}-{版本号}_{系统}-{cpu}.run,比如:cann-910b-ops-blas-9.0.0_linux-arch64.run;
    打包的交付件中提供动态库和头文件(不用支持算子的.o/.json的离散交付件),比如:cann_ops_blas.h/cann_ops_blas.so
likedislike
Zzhuzhiming成员
1月24日 将 QK_25415 设为负责人
Zzhuzhiming成员
1月24日 issue优先级由 无优先级 改变为 主要
Zzhuzhiming成员
1月24日 置顶了issue
Zzhuzhiming成员
4月24日 取消置顶了issue
zhuzhiming成员
4月24日 评论:

完成总结:
已提供如下算子:
融合计算:blasLtMatmul
复数运算:cdot、cgemv_batched、cgerc、colwise_mul、complex_mat_dot、csrot
实数向量:iamax、sasum、scopy、snrm2
实数矩阵:sger、strsv
特殊格式矩阵:spmv、symv、tbmv、tpmv

为完成部分转Q2实现

likedislike
Zzhuzhiming成员
4月24日 issue状态由 进行中 改变为 已完成
Zzhuzhiming成员
4月24日 关闭了 issue
HuangRZzzzHuangRZzzz成员
9月16日 关联了pull request:fix(kernel): 修复 sger/chpr/ssymm 三算子流水线同步缺陷导致的计算错误