当前位置: 首页 > 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.jsqmd.com/news/855823/

相关文章:

  • 如何用Sequin将Postgres变更实时流式传输到Kafka:完整指南 [特殊字符]
  • G-Helper实用指南:华硕笔记本性能调优与自动化管理配置模板
  • TeamPass角色权限管理终极指南:如何配置精细化的访问控制
  • 55、CAN总线差分信号线对滤波电容的布局策略
  • 精选六款免费学编程 APP 小白自学全程够用
  • CANN/cann-recipes-train:一站式平台快速启动RL训练示例
  • 如何用icloudpd轻松备份你的iCloud照片库:终极免费解决方案
  • 终极指南:在elm-react-native中使用react-native-blur和react-native-swiper实现高级UI效果 [特殊字符]
  • 游戏文件瘦身终极指南:使用tochd工具一键转换CHD格式
  • 专业级Lumia设备深度定制:Windows Phone Internals完整实战指南
  • Zygo沙盒环境配置:安全运行不受信任的脚本
  • CANN/asc-devkit SIMT-API反余弦函数
  • 从递归到数学规律:我是怎么把杨辉三角写对的
  • 如何在5分钟内搭建专业的电子实验室笔记本系统:eLabFTW完整指南
  • GitHub Desktop中文汉化神器:3分钟让你的Git操作界面说中文
  • 如何在5分钟内快速上手face-detection-tflite:Python轻量级人脸检测与虹膜追踪终极指南
  • 计算机毕业设计Python+AI大模型空气质量预测分析(可定制城市) 空气质量可视化 空气质量爬虫 机器学习 深度学习 大 数据毕业设计
  • B站直播助手技术解析:从弹幕处理引擎到自动化场控架构
  • 告别复杂绘图软件:用纯文本快速创建专业图表的终极指南
  • SPlisHSPlasH ParaView插件安装与使用:可视化分析模拟结果的最佳实践
  • 解决JDK卸载后重新安装时打不开安装程序的问题
  • DeepCTR深度学习CTR模型:5个核心技巧快速构建高效推荐系统
  • 3分钟搞定多版本PHP环境管理:phpenv终极指南 [特殊字符]
  • 保姆级教程:用Webpack打包你的第一个Cesium项目(附50个Demo源码下载)
  • 基于SSM的在线预约导游系统(10068)
  • longman communication 3000 9000
  • LDDC终极指南:如何快速获取精准歌词,让你的音乐体验完美同步![特殊字符]
  • 从递归到 DP:我是怎么把打家劫舍写对的
  • CANN/asc-devkit数据搬运API文档
  • 保姆级教程:用ZStack Cloud 4.6.31镜像,10分钟搞定你的第一个私有云实验环境