news 2026/6/13 10:43:50

CANN/asc-devkit类型特性样例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/asc-devkit类型特性样例

type_traits类型特性直调样例

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

概述

本样例通过Ascend C编程语言实现了type_traits类型特性用例,类型特性接口包括is_void/remove_const/add_const等。使用<<<>>>内核调用符来完成算子核函数在NPU侧运行验证的基础流程,给出了对应的端到端实现。

本样例支持的产品及CANN软件版本

产品CANN软件版本
Ascend 950PR/Ascend 950DT>= CANN 9.1.0
Atlas A3 训练系列产品/Atlas A3 推理系列产品>= CANN 9.0.0
Atlas A2 训练系列产品/Atlas A2 推理系列产品>= CANN 9.0.0

目录结构

├── type_traits │ ├── CMakeLists.txt // 编译工程文件 │ ├── data_utils.h // 数据读入写出函数 │ ├── type_traits.asc // Ascend C算子实现 & 调用样例 │ └── README.md // 样例介绍

功能描述

  • type_traits类型特性接口,接口包括is_void/is_integral/is_floating_point/is_array/is_pointer/is_reference/is_const/remove_const/remove_volatile/remove_cv/remove_reference/remove_pointer/add_const/add_volatile/add_cv/add_pointer/add_lvalue_reference/add_rvalue_reference,可用于在程序编译时对类型的判断、增加、删除、转换等处理。

  • 算子实现:

    • kernel实现
      Ascend C调用各接口,打印接口返回值和ascendc_assert判断。

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

编译运行

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

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

    source ${install_path}/cann/set_env.sh

    说明:${install_path}为CANN包安装目录,未指定安装目录时默认安装至/usr/local/Ascend下。

  • 样例执行

    在本样例目录下执行如下命令。

    mkdir -p build && cd build; cmake .. -DCMAKE_ASC_ARCHITECTURES=dav-2201;make -j; # 默认npu模式 ./demo

    使用 CPU调试 或 NPU仿真 模式时,添加-DCMAKE_ASC_RUN_MODE=cpu-DCMAKE_ASC_RUN_MODE=sim参数即可。

    示例如下:

    cmake -DCMAKE_ASC_RUN_MODE=cpu -DCMAKE_ASC_ARCHITECTURES=dav-2201 ..;make -j; # cpu调试模式 cmake -DCMAKE_ASC_RUN_MODE=sim -DCMAKE_ASC_ARCHITECTURES=dav-2201 ..;make -j; # NPU仿真模式

    注意:切换编译模式前需清理 cmake 缓存,可在 build 目录下执行rm CMakeCache.txt后重新 cmake。

  • 编译选项说明 | 选项 | 可选值 | 说明 | |------|--------|------| |CMAKE_ASC_RUN_MODE|npu(默认)、cpusim| 运行模式:NPU 运行、CPU调试、NPU仿真 | |CMAKE_ASC_ARCHITECTURES|dav-2201(默认)、dav-3510| NPU 架构:dav-2201 对应 Atlas A2 训练系列产品/Atlas A2 推理系列产品和 Atlas A3 训练系列产品/Atlas A3 推理系列产品,dav-3510 对应 Ascend 950PR/Ascend 950DT |

    执行结果如下,说明执行成功。

    test pass!

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

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

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

Python之math-basics包语法、参数和实际应用案例

Python math-basics 库完整使用指南 一、math-basics 包概述 math-basics 是轻量级Python基础数学工具库&#xff0c;基于Python原生math库二次封装&#xff0c;简化基础数学运算、几何计算、进制转换、数列计算、单位换算等常用场景&#xff0c;主打入门友好、语法简洁、无需…

作者头像 李华
网站建设 2026/6/13 10:40:54

(十三) YModbus从站模拟工具使用

GitHub 项目地址&#xff1a;https://github.com/lidecong133/YModbus 工具下载&#xff1a;YModbusTools v1.0.0 CSDN 下载&#xff1a;YModbus 从站模拟工具下载 运行环境&#xff1a;.NET 8.0&#xff0c;桌面工具建议安装 Microsoft .NET 8 Desktop Runtime 主站工具是拿来…

作者头像 李华
网站建设 2026/6/13 10:39:34

Stanford CME 106速查表社区贡献指南:如何参与翻译与改进

Stanford CME 106速查表社区贡献指南&#xff1a;如何参与翻译与改进 【免费下载链接】stanford-cme-106-probability-and-statistics VIP cheatsheets for Stanfords CME 106 Probability and Statistics for Engineers 项目地址: https://gitcode.com/gh_mirrors/st/stanfo…

作者头像 李华
网站建设 2026/6/13 10:32:12

告别数据孤岛:用Flink SQL实现Oracle与Kafka/ClickHouse的实时数据管道

构建企业级实时数据管道&#xff1a;Flink SQL整合Oracle与Kafka/ClickHouse实战在数字化转型浪潮中&#xff0c;企业核心业务系统产生的数据正以惊人的速度增长。传统ETL批处理模式已无法满足实时决策需求&#xff0c;而Oracle作为关键业务数据库&#xff0c;如何将其数据无缝…

作者头像 李华