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

CANN/asc-devkit SIMD向量函数Dump接口

SimdVF Dump接口功能说明

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

概述

本样例介绍simd_vf侧asc_dump系列接口使用方法,在vector函数中通过asc_dump_ubufasc_dump_regasc_dump等接口实现UB和寄存器数据的可视化打印。核函数从二进制文件读取输入数据,执行Adds计算后写出输出数据,通过比较输出与真值进行校验。

支持的产品

  • Ascend 950PR/Ascend 950DT

目录结构介绍

├── simd_vf_dump │ ├── scripts │ │ ├── gen_data.py // 输入数据和真值数据生成脚本 │ │ └── verify_result.py // 验证输出数据和真值数据是否一致 │ ├── CMakeLists.txt // 编译工程文件 │ ├── data_utils.h // 数据读入写出函数 │ └── simd_vf_dump.asc // Ascend C样例实现&调用样例

样例描述

  • 样例功能:

    使用vector编程模式,展示simd_vf侧asc_dump系列接口的基本使用方法。核函数通过ReadFile读取二进制输入数据,使用asc_vf_call调用simd_vf函数进行dump打印,执行Adds计算后通过WriteFile写出二进制输出数据,最终通过校验脚本比对输出与真值。

    1. asc_dump_ubuf<T>-打印UB数据
    2. asc_dump_reg<T>-打印寄存器数据
    3. asc_dump<T>-打印UB/Reg数据(通用接口)
  • simd_vf dump接口用法:

    接口地址类型示例
    asc_dump_ubuf<T>__ubuf__asc_dump_ubuf<float>(input, desc, dump_size);
    asc_dump_reg<T>Regasc_dump_reg<float>(input, desc, dump_size);
    asc_dump<T>__ubuf__/ Regasc_dump<float>(input, desc, dump_size);

    参数说明:

    • 模板参数T:指定数据类型(float/half等)
    • input:UB数据地址或Reg寄存器对象
    • desc:打印控制描述符
    • dump_size:单次dump的数据元素个数
  • 调用实现

    __global__ __vector__核函数内使用asc_vf_call<FuncName>()调用simd_vf函数完成dump打印,随后通过AscendC::Adds执行计算并将结果写回GM。Host侧通过ReadFile/WriteFile完成二进制数据的读写。

编译运行

  • 配置环境变量 在本样例根目录下执行如下步骤,编译并执行样例。 请根据当前环境上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
  • 样例执行

    mkdir -p build && cd build; # 创建并进入build目录 cmake -DCMAKE_ASC_ARCHITECTURES=dav-3510 ..;make -j; # 编译工程 python3 ../scripts/gen_data.py # 生成测试输入数据 ./demo # 执行编译生成的可执行程序,执行样例 python3 ../scripts/verify_result.py output/output.bin output/golden.bin # 验证输出结果是否正确,确认算法逻辑正确
  • 编译选项说明

    选项可选值说明
    CMAKE_ASC_ARCHITECTURESdav-3510(默认)NPU架构:dav-3510对应Ascend 950PR/Ascend 950DT
  • 执行结果 最终执行结果如下,说明精度对比成功。

    test pass!

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

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

http://www.zskr.cn/news/1430132.html

相关文章:

  • AI时代最值钱的能力,不是会写Prompt,而是会验证真相
  • 5分钟实战:draw.io桌面版深度构建指南,从源码到跨平台安装包
  • 灵达科技亮相天津智博会,存储互联+高速互联双赛道
  • SmolLM2-1.7B-Instruct部署优化:NPU与CPU环境下的性能调优技巧
  • ACE-Step 1.5 XL Turbo商业授权指南:合法合规使用AI生成音乐的终极攻略
  • DLSS Swapper技术架构深度解析:跨平台游戏DLSS文件管理系统的实现原理
  • 紧急通知:NIST AI RMF 1.1已强制要求部署文档包含风险溯源字段——Gemini文档编写的最后72小时合规补救方案
  • Fetch GitHub Hosts终极指南:免费快速解决GitHub访问难题
  • Cowabunga Lite 终极指南:免越狱iOS深度定制完整解决方案
  • 终极Windows驱动管理指南:如何用Driver Store Explorer彻底解决系统卡顿问题
  • 基于Arduino与蓝牙的移动抓取机器人:从硬件集成到App控制全解析
  • 从 WWAIC 范式到 CodeStats:AI 时代 Java 开发者的顶层设计能力与框架思维
  • 如何快速备份知乎内容:面向创作者的数据保护完整指南
  • BitCPM-CANN-0.5B-unquantized工作流详解:从预训练到推理部署的完整路径
  • DeepSeek限制功能引热议,算力紧张下AI产品限流成常态?
  • 终极指南:用AirPodsDesktop解决Windows连接AirPods的三大痛点
  • 26.5.10 黑龙江省赛游记
  • next-scene-qwen-image-lora-2509 V2 vs V1:全面对比与升级指南
  • 上海AI大模型龙头MiniMax开启A股上市进程,M3模型即将发布,推理速度大幅提升
  • 医院商用净水服务商哪家靠谱:专业测评TOP5排名 - 17322238651
  • kullm-polyglot-5.8b-v2开发环境配置终极指南:CANN 8.0与PyTorch 2.1.0完美搭配 [特殊字符]
  • 如何永久解决英雄联盟回放版本不兼容问题:ROFL-Player完全使用指南
  • 经典算法案例之下一个更大元素 III
  • 活动策划+展示营造“双核驱动”,苏州文创传媒行业涌现“小而精”新力量 - GrowthUME
  • Vue3日期时间选择器:现代化Vue 3组件的终极指南
  • 长文本处理技巧:如何在Qwen3.6-27B上实现100万token上下文
  • 清远本地专业防水TOP5靠谱推荐:家里漏水不用愁,免费上门不求人。本地最新防水企业资讯:专业师傅持证上门,收费透明无隐藏收费,质保5-10年,售后有保障 - 企业资讯
  • 宜昌本地专业防水TOP5靠谱推荐:家里漏水不用愁,免费上门不求人。本地最新防水企业资讯:专业师傅持证上门,收费透明无隐藏收费,质保5-10年,售后有保障 - 企业资讯
  • 基于EdgeTX Lua与Arduino的智能遥控车交互系统开发实践
  • 国家中小学智慧教育平台电子课本下载完整指南:告别在线预览,轻松获取PDF教材