news 2026/5/9 12:18:56

CANN/ops-blas tbmv算子测试

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/ops-blas tbmv算子测试

tbmv算子实现

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

概述

BLAS tbmv算子实现。

tbmv(Triangular Banded Matrix-Vector Multiplication)算子实现了三角带状矩阵与向量的乘法运算,是BLAS基础线性代数库中的核心算子之一。

该算子针对对称矩阵的存储特性进行了优化,采用压缩存储格式以节省内存空间,并高效完成矩阵与向量的乘加运算。

支持的产品

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

目录结构介绍

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

算子描述

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

A为三角带状矩阵,x和y是向量。

对称矩阵A的下三角部分元素按对角线储存,主对角线储存在第一行,元素A(i,j)储存在位置AP[1+i-j, j]中。

对应的接口为:

int aclblasTbmv(const float *a, const int64_t lda, const float *x, float *y, const int64_t n, const int64_t k, const int64_t incx, void *stream);
参数tbmv 参数说明
参数列表Param.Memoryin/out含义
nin三角带状矩阵 A 的行数和列数。
kdevicein三角带状矩阵有效对角线数量
adevicein三角带状矩阵 <type> 数组,维度为 n x n。
xdevicein<type> 向量,包含 n 个元素。
incxinx 中连续元素之间的步长。
ldain用于存储矩阵A的二维数组的主维。
xdeviceout<type> 向量,包含 n 个元素。
  • 算子规格:

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

    将输入数据从A,x的GM地址分块搬运到UB,进行计算后再搬出到y所在的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=tbmv --run # --ops=<算子名> --run可选参数,执行测试样例

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

    [Success] Case accuracy is verification passed.

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 12:18:32

CANN HC Pre InvRms算子文档

custom-npu_hc_pre_inv_rms 【免费下载链接】cann-recipes-infer 本项目针对LLM与多模态模型推理业务中的典型模型、加速算法&#xff0c;提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-infer 产品支持情况 产品是否支持Atlas A3 推理系…

作者头像 李华
网站建设 2026/5/9 12:17:33

Go Channel详解

Go Channel 详解 一、核心原理 1.1 什么是 Channel Channel 是 Go 中 goroutine 之间的通信管道&#xff0c;遵循 CSP&#xff08;Communicating Sequential Processes&#xff09;模型。核心思想&#xff1a;不要通过共享内存来通信&#xff0c;而应通过通信来共享内存。ch : …

作者头像 李华
网站建设 2026/5/9 12:17:31

CANN/ops-cv NMS掩码算子

NMSWithMask 【免费下载链接】ops-cv 本项目是CANN提供的图像处理、目标检测相关的算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-cv 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推…

作者头像 李华
网站建设 2026/5/9 12:17:31

Arm DynamIQ架构性能监控单元(PMU)设计与实战

1. Arm DynamIQ性能监控单元架构解析在Arm DynamIQ多核处理器架构中&#xff0c;性能监控单元(PMU)作为硬件性能分析的核心模块&#xff0c;其设计直接影响到处理器性能调优的精度和效率。与传统PMU设计相比&#xff0c;DynamIQ架构的CLUSTERPMU模块具有三个显著特征&#xff1…

作者头像 李华
网站建设 2026/5/9 12:16:30

Apache Shiro 1.2.4 反序列化漏洞Shiro-550(CVE-2016-4437)

Apache Shiro 1.2.4 反序列化漏洞Shiro-550&#xff08;CVE-2016-4437&#xff09; 一、漏洞简介 1、Apache Shiro Apache Shiro是一款开源安全框架&#xff0c;提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用&#xff0c;同时也能提供健壮的安全性。 2、影响范围…

作者头像 李华
网站建设 2026/5/9 12:14:24

CANN ops-math Cat连接算子

aclnnCat 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math &#x1f4c4; 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产…

作者头像 李华