返回首页
高校分队 算子生成

从基础到融合,突破异构计算瓶颈

ops-blas 是 CANN 算子库中专注于高性能线性代数计算与轻量化 GEMM 调用的算子库,针对昇腾 AI 处理器深度优化,首批 17 个算子已全量开源就绪。

开源成果

17+
算子已开源
53
全年计划新增
6
高校贡献算子
<1e-5
精度相对误差
访问开源仓库

核心能力

融合矩阵乘法

blasLtMatmul 支持 Epilogue 融合后处理(Bias + ReLU),单算子内完成矩阵乘、Bias 加法与激活,无需中间结果落盘。

复数向量化运算

cdot cgemv_batched csrot 等复数算子,采用 GatherMask、虚实分离计算与 Ping-Pong 双缓冲,消除标量循环开销。

特殊格式矩阵直通

spmv symv tbmv tpmv 原生支持压缩存储格式,直接操作 Packed/Banded 格式,节省 50% 内存。

实数向量运算

sasum snrm2 scopy iamax 等,支持 L1/L2 范数、拷贝与最大绝对值索引,多核并行归约。

实数矩阵运算

sger 秩-1 更新基础算子,strsv 三角矩阵求解(支持原地更新),支撑 QR 分解等高级算法。

多核流水线并行

GM-UB 分块搬运策略适配昇腾存储层次,归约类算子支持多核并行计算局部结果,Ping-Pong 隐藏访存延迟。

优化效果

传统痛点

Epilogue 融合矩阵乘与后处理分步执行
复数向量化标量循环分离实虚部
压缩格式需展开为稠密矩阵
流水线并行搬运与计算串行

ops-blas 方案

Epilogue 融合单算子完成 Matmul+Bias+ReLU
复数向量化vreducev2 / GatherMask 消除标量循环
压缩格式直接操作 Packed/Banded 格式
流水线并行Ping-Pong 双缓冲隐藏访存延迟

效果

Epilogue 融合减少片上内存写回
复数向量化消除标量循环
压缩格式节省 50% 内存
流水线并行隐藏访存延迟

已开源算子

类别算子说明操作
融合计算blasLtMatmul融合矩阵乘法,支持 Epilogue(Bias + ReLU)
复数运算cdot复数向量共轭点积
复数运算csrotGivens 旋转
复数运算cgerc复数秩-1 更新
复数运算cgemv_batched批量复数矩阵-向量乘法
复数运算complex_mat_dot复数逐元素乘法
复数运算colwise_mul列方向乘法
实数向量sasumL1 范数
实数向量snrm2L2 范数
实数向量scopy向量拷贝
实数向量iamax最大绝对值索引
实数矩阵sger秩-1 更新
实数矩阵strsv三角矩阵求解(支持原地更新)
特殊格式spmv对称压缩矩阵-向量乘法
特殊格式symv对称压缩矩阵运算
特殊格式tbmv三角带状矩阵运算
特殊格式tpmv三角压缩矩阵运算

高校合作贡献

深圳河套学院陈子忠教授团队已成为 ops-blas 的 maintainer,已贡献 6 个算子(spmv、tpmv、tbmv、symv、strsv、sger),填补了特殊格式矩阵支持和基础实数矩阵运算方面的重要空白,并计划全年新增 53 个算子

支持硬件与数据类型

支持 Atlas A2/A3 训练与推理系列,数据类型覆盖 float16 / float32(实数与复数),blasLtMatmul 计算累加采用 float32 确保数值稳定性。

典型应用场景

深度学习框架底层 — Transformer 训练推理、LoRA 微调,blasLtMatmul 融合 Bias+ReLU,sasum/snrm2 高效范数计算。

信号处理与量子计算 — 雷达信号处理、量子态演化模拟,cdot 共轭点积、cgemv_batched 批量复数变换。

科学工程计算 — 有限元分析、计算流体力学,spmv/symv 对称压缩矩阵运算,strsv 三角求解。