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

CANN/ops-blas Ssyr算子实现

Ssyr算子实现

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

概述

BLAS Ssyr算子实现。

Ssyr(Symmetric Rank-1 Update)算子实现了单精度向量的外积并将结果加到一个矩阵上,是BLAS基础线性代数库中的核心算子之一。

该算子实现对称秩1更新:A = alpha * x * x^T + A

支持的产品

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

目录结构介绍

├── ssyr │ ├── ssyr_kernel.cpp // 算子核函数实现 │ └── ssyr_host.cpp // 算子Host端实现 ├── test/ssyr │ ├── CMakeLists.txt // 编译工程文件 │ ├── README.md // 说明文档 │ └── ssyr_test.cpp // 算子调用样例

算子描述

  • 算子功能:
    ssyr算子实现了单精度向量的外积并将结果加到一个矩阵上。对应的数学表达式为:
A = alpha * x * x^T + A
  • 对应的接口:
aclblasSsyr(aclblasHandle handle, aclblasFillMode uplo, const int64_t n, const float alpha, uint8_t *x, const int64_t incx, uint8_t *A, const int64_t lda)
参数ssyr 参数说明
参数列表Param.Memoryin/out含义
handlehostin算子的句柄。
uplohostin指定矩阵A的存储格式。ASDBLAS_FILL_MODE_LOWER:下三角,ASDBLAS_FILL_MODE_UPPER:上三角。
nin向量x中的元素个数,矩阵A的行列数。取值范围[1, 16384]。
alphahostin标量alpha,向量乘积缩放因子。
xdevicein输入向量,对应公式中的'x'。数据类型支持FLOAT32,数据格式支持ND,shape为[n]。
incxinx相邻元素间的内存地址偏移量(当前约束为1)。
Adevicein/out输入/输出矩阵,对应公式中的'A'。数据类型支持FLOAT32,数据格式支持ND,shape为[n, n]。
ldain矩阵A的每列元素的存储步长(当前约束为n)。
  • 算子规格:

    算子类型(OpType)Ssyr
    算子输入nameshapedata typeformat
    x[n]floatND
    算子输出A[n, n]floatND
    核函数名ssyr
  • 约束说明:

    • 输入的元素个数n当前覆盖支持[1, 16384]。
    • 算子输入shape为[n]、[n, n],输出shape为[n, n]。
    • 算子实际计算时,不支持ND高维度运算(不支持维度≥3的运算)。

编译运行

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

  • 配置环境变量
    请根据当前环境上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=ssyr --run # --ops=<算子名> --run可选参数,执行测试样例

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

    Testing ssyr: Output: ... Golden: ... [Success] Case accuracy is verification passed. [PASS] ssyr_test

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

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

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

相关文章:

  • NCE外汇:服务体验与平台稳定性的协同提升
  • svelte-preprocess 性能优化最佳实践:提升构建速度的10个技巧
  • CANN社区Sign算子优化设计
  • Spire性能优化技巧:如何高效使用Rational和SafeLong提升Scala数值计算效率
  • Element React终极指南:快速构建企业级React应用UI界面
  • HC-05蓝牙模块连接Arduino/STM32的3.3V/5V电平匹配全攻略,附电路图与代码
  • 如何在Windows11中安装Android应用?WSA工具使用教程
  • CANN AsNumpy排序函数API
  • ops-collections架构深度解析:如何实现NPU上的高性能哈希表
  • 别再被数学劝退!用PyTorch从零实现DDPM扩散模型(附完整代码)
  • 通过环境变量为hermesagent配置taotoken作为自定义模型服务提供方
  • CANN/asc-devkit 设置梯度输出类型
  • CANNBot torch-compile 快速入门
  • 2026河北钢制防火门多少钱一平米?甲乙丙级最新报价
  • CANN混元视频配置说明
  • 数据中心工频UPS哪家好?2026工频不间断电源/核磁用UPS电源生产厂家权威推荐 - 栗子测评
  • CTF中的音频隐写术实战:从‘兔耳’和‘调频收音机’两道Misc题,学会用Python脚本提取隐藏信息
  • HermesAgent工具连接Taotoken自定义模型提供方的完整流程
  • CANN Bench交叉熵损失算子评测
  • Matlab阶跃响应性能指标自动化计算:从原理到工程实践
  • 如何快速上手elec-ops-inspection:昇腾平台部署指南
  • Configor 自动重载功能深度解析:实现配置热更新的终极指南
  • CANN/hccl RDMA QP端口配置路径
  • 轨距调整片定制哪家好?2026年绝缘轨距块生产厂家优质供应商推荐指南:新建铁路配件领衔 - 栗子测评
  • 2026机房不间断电源生产厂家哪家好?深圳不间断电源生产厂家实力深度解析 - 栗子测评
  • cann/asc-devkit SetGradOutput接口
  • CANN ops-fft部署指南:生产环境中的配置、监控与故障排除
  • npc_gzip异常处理与调试手册:解决压缩器错误的10个实用技巧
  • Commit Mono版本管理指南:如何优雅地升级和回滚字体版本
  • 源头工厂直供:利成充气水池定制厂家,广东便携式宠物泳池、PVC 戏水玩具、水上充气浮排专业生产基地 - 栗子测评