news 2026/5/9 23:56:43

CANN/ops-blas Snrm2算子测试

作者头像

张小明

前端开发工程师

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

Snrm2算子实现

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

概述

BLAS Snrm2算子实现,同时支持Scnrm2复数向量欧几里得范数计算。

Snrm2(欧几里得范数)算子实现了计算向量的欧几里得范数(2-范数),是BLAS基础线性代数库中的核心算子之一。

该算子计算L2范数,常用于向量长度计算、归一化和误差估计。

支持的接口

  • aclblasSnrm2: 实数向量欧几里得范数
  • aclblasScnrm2: 复数向量欧几里得范数(复用snrm2 kernel)

支持的产品

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

目录结构介绍

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

算子描述

  • 算子功能:
    Snrm2算子实现了计算向量的欧几里得范数。对应的数学表达式为:
result = sqrt(sum(|x[i]|^2)) for i = 0 to n-1

对应的接口为:

int aclblasSnrm2(float *x, float *result, const int64_t n, const int64_t incx, void *stream);

aclblasScnrm2接口

复数向量欧几里得范数(复用snrm2 kernel):

int aclblasScnrm2(std::complex<float> *x, float *result, const int64_t n, const int64_t incx, void *stream);

数学表达式:

result = sqrt(sum(|z[i]|^2)) = sqrt(sum(real[i]^2 + imag[i]^2))

复数向量存储为连续的实部、虚部交替的float数组(2n个float元素),直接调用snrm2 kernel处理2n个float元素即可完成复数向量范数计算。

参数snrm2 参数说明
参数列表Param.Memoryin/out含义
nin向量元素个数。
xdevicein向量,包含 n 个元素。
incxinx 中连续元素之间的步长。
resultdeviceout向量的欧几里得范数。
  • 算子规格:

    算子类型(OpType)Snrm2
    算子输入nameshapedata typeformat
    xnfloatND
    算子输出result1floatND
    核函数名snrm2_kernel
  • 算子实现:

    将输入数据从x的GM地址分块搬运到UB,并行计算各核的局部平方和,最后归约并计算平方根得到最终结果。

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

编译运行

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

  • 配置环境变量
    请根据当前环境上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=snrm2 --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 23:52:06

如何在Windows上实现零延迟离线语音识别:TMSpeech完整实战指南

如何在Windows上实现零延迟离线语音识别&#xff1a;TMSpeech完整实战指南 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 想象一下&#xff0c;你正在参加一场重要的线上会议&#xff0c;突然网络中断&#xff0c;…

作者头像 李华
网站建设 2026/5/9 23:52:01

CANN/TensorFlow TellMeStepOrLossHook构造函数

TellMeStepOrLossHook构造函数 【免费下载链接】tensorflow Ascend TensorFlow Adapter 项目地址: https://gitcode.com/cann/tensorflow 功能说明 TellMeStepOrLossHook类的构造函数&#xff0c;TellMeStepOrLossHook用于告知底层软件“当前执行的步数和总的步数”或者…

作者头像 李华
网站建设 2026/5/9 23:50:34

Captain AI:对俄跨境电商智能系统解决OZON一切运营难题

在俄罗斯跨境电商OZON平台的运营中&#xff0c;商家面临着从入驻、选品、上架到推广、客服、合规、财务的全链路挑战。单一的工具只能解决局部问题&#xff0c;无法实现运营效率的整体提升。Captain AI作为专为对俄跨境电商打造的“生产应用级AI系统”&#xff0c;并非零散功能…

作者头像 李华
网站建设 2026/5/9 23:49:07

初次接触大模型API的新手从注册到发出第一个请求的全指南

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 初次接触大模型API的新手从注册到发出第一个请求的全指南 1. 准备工作&#xff1a;注册账号与获取密钥 对于初次接触大模型API的开…

作者头像 李华
网站建设 2026/5/9 23:38:40

Balena Etcher:重新定义跨平台镜像烧录体验

Balena Etcher&#xff1a;重新定义跨平台镜像烧录体验 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher 你是否曾为制作系统启动盘而烦恼&#xff1f;面对复杂的命…

作者头像 李华