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

CANN/asc-devkit AI Core注册接口

OpAICoreConfig注册接口(REGISTER_OP_AICORE_CONFIG)

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

功能说明

不同的硬件形态算子原型定义不同的情况,可以通过新增OpAICoreConfig的方式,针对不同的AI处理器型号注册差异化的算子原型。REGISTER_OP_AICORE_CONFIG宏在不改变原有注册的基础上,允许单独新增文件来注册算子在不同硬件形态上的差异化信息。

使用该注册宏需要包含以下头文件:

#include "register/op_config_registry.h"

函数原型

REGISTER_OP_AICORE_CONFIG(opType, socVersion, opFunc)

参数说明

参数

输入/输出

说明

opType

输入

算子类型。

socVersion

输入

支持的AI处理器型号。

opFunc

输入

返回OpAICoreConfig的回调函数指针,回调函数原型定义为:

OpAICoreConfig (*)()

返回值说明

约束说明

若算子同时使用AddConfig注册算子支持的AI处理器型号以及OpAICoreConfig信息,且AI处理器型号相同时,通过AddConfig方式注册的配置优先级更高,会覆盖REGISTER_OP_AICORE_CONFIG宏注册的OpAICoreConfig信息。

调用示例

假设,已有原型注册文件op_host/add_custom.cpp实现如下,配置了算子支持的AI处理器型号ascendxxx1及算子输入输出原型信息:

... namespace ops { class AddCustom : public OpDef { public: AddCustom(const char* name) : OpDef(name) { this->Input("x") .ParamType(REQUIRED) .DataType({ge::DT_FLOAT16, ge::DT_FLOAT, ge::DT_INT32}) .Format({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}); this->Input("y") .ParamType(REQUIRED) .DataType({ge::DT_FLOAT16, ge::DT_FLOAT, ge::DT_INT32}) .Format({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}); this->Output("z") .ParamType(REQUIRED) .DataType({ge::DT_FLOAT16, ge::DT_FLOAT, ge::DT_INT32}) .Format({ge::FORMAT_ND, ge::FORMAT_ND, ge::FORMAT_ND}); this->AICore() .SetTiling(optiling::TilingFunc); // 请替换为实际的AI处理器型号 this->AICore().AddConfig("ascendxxx1"); } }; OP_ADD(AddCustom); } // namespace ops

可新增文件op_host/add_custom_xxx.cpp,使用REGISTER_OP_AICORE_CONFIG单独注册算子支持的AI处理器型号ascendxxx2,示例如下:

#include "register/op_config_registry.h" namespace ops { REGISTER_OP_AICORE_CONFIG(AddCustom, ascendxxx2, []() { ops::OpAICoreConfig config("ascendxxx2"); return config; }); }

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

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

http://www.gsyq.cn/news/1336161.html

相关文章:

  • 不止是部署:深入webrtc-streamer容器,聊聊WebRTC网关的配置、监控与生产环境实践
  • 精选六款免费学编程 APP 小白自学全程够用
  • 如何用Mosaico制作响应式邮件:10个实用技巧
  • 如何用icloudpd轻松备份你的iCloud照片库:终极免费解决方案
  • 54、CAN总线共模扼流圈选型与滤波电路设计
  • Windows 11/10下Stable Diffusion WebUI启动慢、卡死的终极优化指南(更新显卡驱动/调整虚拟内存)
  • 别再只怪QQ了!深入MP4封装格式,揭秘录屏文件损坏的真正原因与修复原理
  • Hertz.dev多模态应用探索:结合WebRTC的浏览器端音频处理
  • 思源宋体TTF:Google与Adobe联手中文免费商用字体终极指南
  • TeamPass后台任务管理:自动化维护和清理操作手册
  • 从LED驱动到MCU供电:一文搞懂二极管和电容的选型避坑指南(附型号推荐)
  • 从GCC-5到Clang-15:手把手教你用CMake管理多版本编译器(实战演示)
  • SPlisHSPlasH ParaView插件安装与使用:可视化分析模拟结果的最佳实践
  • Zygo沙盒环境配置:安全运行不受信任的脚本
  • 如何用Sequin将Postgres变更实时流式传输到Kafka:完整指南 [特殊字符]
  • CANN Ascend C SIMT log10f函数
  • Windows字体自定义终极指南:用No!! MeiryoUI打造你的专属界面
  • 保姆级教程:用Webpack打包你的第一个Cesium项目(附50个Demo源码下载)
  • 3分钟快速上手:Rufus终极USB启动盘制作完整指南
  • 企业级ONVIF协议集成:实战架构设计与最佳实践
  • 终极B站视频下载指南:3分钟学会无水印高清下载技巧
  • CANN/Ascend C数学函数floorf
  • Minio备份文件占满磁盘?教你用Rsync硬链接做增量备份,省下80%空间
  • Perplexity读书笔记生成实战手册(学术党职场人必藏版):覆盖PDF/EPUB/网页多源解析与结构化输出
  • 从递归到 DP:我是怎么把打家劫舍写对的
  • 从递归到数学规律:我是怎么把杨辉三角写对的
  • MySQL新手必看:Navicat导入SQL文件报错1046?三步搞定数据库选择问题
  • 微生物网络分析终极指南:NetCoMi如何帮你3步构建复杂关联网络
  • 收藏备用!【2025 版】CMD 命令超详细大全,零基础全覆盖
  • 3分钟实现CAD建模革命:Zoo Text-to-CAD如何让文字描述秒变3D模型?