当前位置: 首页 > news >正文

CANN/ops-blas symv算子实现

symv算子实现

【免费下载链接】ops-blas本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。项目地址: https://gitcode.com/cann/ops-blas

概述

BLAS symv算子实现。

symv(Symmetric Matrix-Vector Multiplication)算子实现了对称矩阵与向量的乘法运算,是BLAS基础线性代数库中的核心算子之一。

该算子针对对称矩阵的存储特性进行了优化,并高效完成矩阵与向量的乘加运算。

支持的产品

  • Atlas A3 训练系列产品/Atlas A3 推理系列产品
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品

目录结构介绍

├── symv │ ├── CMakeLists.txt // 编译工程文件 │ ├── README.md // 说明文档 │ └── symv_test.cpp // 算子调用样例

算子描述

  • 算子功能:
    symv算子实现了将对称压缩矩阵乘以向量。对应的数学表达式为:
z = alpha * A * x + beta * y

A为对称矩阵,x和y是向量,alpha和beta是标量

对称矩阵A的下三角部分元素按行储存,对应的对称部分通过已有元素推断得出。压缩对称矩阵格式仅需要n * (n + 1) / 2个元素储存。

对应的接口为:

int aclblasSymv(const float *a, const int64_t lda, const float *x, const float *y, float *z, const float alpha, const float beta, const int64_t n, const int64_t incx, const int64_t incy, void *stream);
参数symv 参数说明
参数列表Param.Memoryin/out含义
nin对称矩阵 A 的行数和列数。
alphahost/devicein用于乘法的 <type> 标量。
aPackeddevicein对称矩阵 <type> 数组,维度为 n x n。
ldain用于存储矩阵A的二维数组的主维。
xdevicein<type> 向量,包含 n 个元素。
incxinx 中连续元素之间的步长。
betahost/devicein用于乘法的 <type> 标量。如果 beta == 0,则 y 不必是有效输入。
ydevicein<type> 向量,包含 n 个元素。
incyiny 中连续元素之间的步长。
zdeviceout<type> 向量,包含 n 个元素。
  • 算子规格:

    算子类型(OpType)symv
    算子输入nameshapedata typeformat
    AN * (N + 1) /2floatND
    xNfloatND
    yNfloatND
    alpha1floatND
    beta1floatND
    算子输出zNfloatND
    核函数名symv_kernel
  • 算子实现:

    将输入数据从A,x,y的GM地址分块搬运到UB,进行计算后再搬出到z所在的GM地址。

  • 调用实现
    使用内核调用符<<<>>>调用核函数。

编译运行

在本样例根目录下执行如下步骤,编译并执行算子。

  • 配置环境变量
    请根据当前环境上CANN开发套件包的安装方式,选择对应配置环境变量的命令。

    • 默认路径,root用户安装CANN软件包

      source /usr/local/Ascend/cann/set_env.sh
    • 默认路径,非root用户安装CANN软件包

      source $HOME/Ascend/cann/set_env.sh
    • 指定路径install_path,安装CANN软件包

      source ${install_path}/cann/set_env.sh
  • 样例执行

    bash build.sh --ops=symv --run # --ops=<算子名> --run可选参数,执行测试样例

    执行结果如下,说明精度对比成功。

    [Success] Case accuracy is verification passed.

【免费下载链接】ops-blas本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。项目地址: https://gitcode.com/cann/ops-blas

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/784766/

相关文章:

  • CANN/hccl通信算法配置指南
  • CANN/ge AddInput函数
  • mysql 里面concat 和 group_concat 举个例子说明用法
  • 南宁脱发白发养发馆推荐?黑奥秘AI智能检测+全周期管理,毛发健康更持久 - 美业信息观察
  • 探索Taotoken官方价折扣活动在模型实验阶段如何节省成本
  • OpenCore Legacy Patcher完整指南:让老旧Mac焕发新生,轻松运行最新macOS
  • CANN DeepSeek-V4训练优化
  • 面试官问‘不用库函数求平方根倒数’,我答了二分法,他却说有线性的解法?
  • 从IMU到自动驾驶:卡尔曼滤波参数(Q,R)怎么调?一个Python仿真实验说清楚
  • 亲测2026定稿版保姆级指南:手动改稿+工具实测 - 殷念写论文
  • 你的网站图标不显示?5分钟排查Favicon不生效的常见坑(附缓存清理技巧)
  • 2025年产品外观设计机构TOP实力排行与选择指南 - 品牌策略师
  • M.2 CAN FD适配器:工业通信的高性能解决方案
  • Pawvy:基于上下文锚点与队列机制的人机协作任务管理平台
  • Taotoken用量看板如何帮助项目管理者精细化控制AI成本
  • 基于深度学习的遥感建筑物分割识别 yolov11遥感图像分割 无人机车辆识别 无人机道路分割识别
  • 多示例学习:从弱标签数据到精准预测的机器学习范式
  • 记一次绿联的抽象行为(有漏洞说不受影响)
  • CANN社区CLA使用指南
  • 大视觉模型在医学影像领域的部署、应用与挑战
  • 2026年照片换背景底色在线制作免费工具大测评,我找到了最好用的方案
  • CANN/ops-nn erfinv算子API文档
  • AI与运筹学赋能:混合动力公交调度优化算法实战解析
  • CANN/cann-learning-hub:torch_npu IPC特性详解
  • 存储省 80%、速度快 60%!金仓块级永久增量备份重构 TB 级数据库备份效率
  • 图片换背景底色怎么制作?2026年最全工具对比和实战指南
  • Phi-3.5-Mini-Instruct真实案例:用自然语言描述生成完整Flask API服务代码
  • 可解释AI实战指南:从特征归因到样本评估的技术选型与应用
  • 保姆级教程:在RK3568开发板上点亮OV13850摄像头(附设备树配置与常见问题排查)
  • 自动化内容创作:从链接到小红书爆款素材的完整流水线实践