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

CANN/asc-devkit TQueBind简介

TQueBind简介

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

TQueBind绑定源逻辑位置和目的逻辑位置,根据源位置和目的位置,来确定内存分配的位置 、插入对应的同步事件,帮助开发者解决内存分配和管理、同步等问题。Tque是TQueBind的简化模式。通常情况下开发者使用TQue进行编程,TQueBind对外提供一些特殊数据通路的内存管理和同步控制,涉及这些通路时可以直接使用TQueBind。

如下图的数据通路示意图所示,红色线条和蓝色线条的通路可通过TQueBind定义表达,蓝色线条的通路可通过TQue进行简化表达。

表1TQueBind和TQue对于数据通路的表达

数据通路

TQueBind定义

TQue定义

GM->VECIN

TQueBind<TPosition::GM, TPosition::VECIN, 1>
TQue<TPosition::VECIN, 1>

VECOUT->GM

TQueBind<TPosition::VECOUT, TPosition::GM, 1>
TQue<TPosition::VECOUT, 1>

VECIN->VECOUT

TQueBind<TPosition::VECIN, TPosition::VECOUT, 1>

-

GM->A1

TQueBind<TPosition::GM, TPosition::A1, 1>
TQue<TPosition::A1, 1>

GM->B1

TQueBind<TPosition::GM, TPosition::B1, 1>
TQue<TPosition::B1, 1>

GM->C1

TQueBind<TPosition::GM, TPosition::C1, 1>
TQue<TPosition::C1, 1>

A1->A2

TQueBind<TPosition::A1, TPosition::A2, 1>
TQue<TPosition::A2, 1>

B1->B2

TQueBind<TPosition::B1, TPosition::B2, 1>
TQue<TPosition::B2, 1>

C1->C2

TQueBind<TPosition::C1, TPosition::C2, 1>
TQue<TPosition::C2, 1>

CO1->CO2

TQueBind<TPosition::CO1, TPosition::CO2, 1>
TQue<TPosition::CO1, 1>

CO2->GM

TQueBind<TPosition::CO2, TPosition::GM, 1>
TQue<TPosition::CO2, 1>

VECOUT->A1/B1/C1

TQueBind<TPosition::VECOUT, TPosition::A1, 1> TQueBind<TPosition::VECOUT, TPosition::B1, 1> TQueBind<TPosition::VECOUT, TPosition::C1, 1>

-

CO2->VECIN

TQueBind<TPosition::CO2, TPosition::VECIN, 1>

-

[!NOTE]说明 上述表格中的Cube相关数据通路建议使用Cube高阶API(如Matmul)实现,直接使用TQueBind控制会相对复杂。

下面通过两个具体的示例展示了矢量编程场景下TQueBind的使用方法:

  • 如下的编程范式示例,图中的两个队列分别绑定的是GM VECIN和VECOUT GM。

  • 如果不需要进行Vector计算,比如仅需要做格式随路转换等场景,可对上述流程进行优化,对VECIN和VECOUT进行绑定,绑定的效果可以实现输入输出使用相同buffer,实现double buffer。

模板参数

template <TPosition src, TPosition dst, int32_t depth, auto mask = 0> class TQueBind {...};

表2模板参数说明

参数名

描述

src

源逻辑位置,支持的TPosition可以为VECIN、VECOUT、A1、A2、B1、B2、CO1、CO2。关于TPosition的具体介绍请参考TPosition。支持的src和dst组合请参考表1。

dst

目的逻辑位置,TPosition可以为VECIN、VECOUT、A1、A2、B1、B2、CO1、CO2。

depth

TQue的深度,一般不超过4。

mask

如果用户在某一个Que上,数据搬运的时候需要做转换,可以设置为0或1。一般不需要用户配置,默认为0。

设置为0,代表数据格式从ND转换为NZ,目前仅支持TPosition为A1或B1。

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

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

http://www.jsqmd.com/news/1206715/

相关文章:

  • Nexus技术解析:向量检索到知识编译的范式迁移
  • 终极MacOS光标管理器:Mousecape完整使用指南与个性化定制
  • XHS-Downloader终极指南:如何轻松下载小红书无水印作品
  • 重庆能源工业技师学院:技能点亮未来,2026年招生全面启动 - 学习招生
  • MediaCrawler:基于Playwright浏览器搭桥技术的多平台社交媒体数据采集框架
  • 5分钟快速上手:全网资源下载神器res-downloader终极使用指南
  • Windows 11界面定制革命:ExplorerPatcher深度技术解析与实战指南
  • Claude与Codex双AI终端协作开发实践指南
  • 解密.NET程序集:dnSpyEx如何实现无源码调试与逆向工程
  • 海外学校不发实体三方协议?留学生用大厂电子两方协议锁定Offer「蒸汽求职分享」
  • Yuzu模拟器音频系统终极优化指南:从架构解析到实战调优
  • 突破性Windows字体自定义工具:No!! MeiryoUI完全指南
  • 终极Windows Defender移除指南:3种模式彻底解放系统性能
  • 如何调试Bluetooth-jammer-esp32:串口监控与故障排除指南
  • Switch玩转B站:wiliwili第三方客户端完全指南
  • 2026成都旧房翻新技术哪家强?实测5大专业公司防踩雷指南 - 资讯焦点
  • 如何让微信聊天记录真正属于你?WeChatMsg完整导出方案全解析
  • Grok Build高级技巧:5个提升开发效率的实用技能
  • Roundcube Webmail:跨越语言边界的全球化邮件解决方案
  • 如何用嘎嘎降AI处理英语专业论文:英语专业毕业论文降AI免费4.8元知网达标完整操作教程
  • 南通崇川区和平桥街道亨得利官方名表服务中心电话公示(2026年7月最新) - 亨得利官方博客
  • 开源项目推荐:sub-web
  • MFLAC/MGG转MP3:7种方法实测与音质优化指南
  • 如何优雅解决macOS窗口管理混乱问题:Loop终极指南
  • SillyTavern终极指南:5步轻松打造专业级AI对话前端
  • 揭秘SillyTavern:打造栩栩如生AI角色的5大核心模块
  • SOI晶圆结构解析与半导体应用优势
  • 2026成都旧房翻新装修公司十大排名,实测口碑推荐榜单 - 资讯焦点
  • AI智能体协作交易系统:LangGraph架构与实战优化
  • 终极Palworld存档编辑指南:三步搞定存档转换与深度修改