news 2026/7/17 18:40:05

CANN/asc-devkit获取AIV核ID接口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/asc-devkit获取AIV核ID接口

GetSubBlockIdx

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

产品支持情况

  • Ascend 950PR/Ascend 950DT:支持
  • Atlas A3 训练系列产品/Atlas A3 推理系列产品:支持
  • Atlas A2 训练系列产品/Atlas A2 推理系列产品:支持
  • Atlas 200I/500 A2 推理产品:不支持
  • Atlas 推理系列产品AI Core:不支持
  • Atlas 推理系列产品Vector Core:不支持
  • Atlas 训练系列产品:不支持
  • Kirin X90:不支持
  • Kirin 9030:不支持

功能说明

获取当前AIV核的ID。分离架构下,一个AI Core由Cube Core(AIC)和Vector Core(AIV)按照一定比例1:N进行组合,其中N个AIV的子核ID分别为0, 1, ..., N-1。

Matmul::GetSubBlockIdx()与基础API接口AscendC::GetSubBlockIdx().md)的区别在于,Matmul::GetSubBlockIdx()用于获取当前AIV核在当前AI Core分组中的ID,而AscendC::GetSubBlockIdx()获取的是AIV核在所有AI Core分组中的逻辑ID。例如,有10组AI Core,AIC与AIV的比例为1:2,共20个AIV核。调用Matmul::GetSubBlockIdx()时,20个AIV的获取结果依次为0, 1, 0, 1, 0, 1, ..., 0, 1。调用AscendC::GetSubBlockIdx()时,20个AIV的获取结果依次为0, 1, 2, 3, 4, 5, ..., 18, 19。

函数原型

__aicore__ inline uint8_t GetSubBlockIdx()

参数说明

返回值说明

当前AIV核的ID。

约束说明

  • 该接口仅支持在分离架构下使用,否则返回随机值。
  • 在分离架构中,AIV核的ID会在REGIST_MATMUL_OBJ()接口内部自动初始化和赋值。因此,需要在调用REGIST_MATMUL_OBJ()接口之后,再调用本接口,以获取正确的ID。
  • 若在算子程序中调用SetSubBlockIdx()后, GetSubBlockIdx()接口将返回由SetSubBlockIdx接口设置的ID值。

调用示例

typedef AscendC::MatmulType<AscendC::TPosition::GM, CubeFormat::ND, half> aType; typedef AscendC::MatmulType<AscendC::TPosition::GM, CubeFormat::ND, half> bType; typedef AscendC::MatmulType<AscendC::TPosition::GM, CubeFormat::ND, float> cType; typedef AscendC::MatmulType<AscendC::TPosition::GM, CubeFormat::ND, float> biasType; AscendC::Matmul<aType, bType, cType, biasType, CFG_NORM> mm; REGIST_MATMUL_OBJ(&pipe, GetSysWorkSpacePtr(), mm, &tiling); mm.GetSubBlockIdx(); // 获取子核ID

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

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

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

YOLOv8实战:全能计算机视觉模型配置与优化指南

1. YOLOv8&#xff1a;计算机视觉的全能选手第一次接触YOLOv8时&#xff0c;我正为一个工业质检项目犯愁——客户要求同时实现缺陷检测、分类和区域分割。传统方案需要组合多个模型&#xff0c;直到发现YOLOv8这个"瑞士军刀"。作为Ultralytics公司2023年推出的最新版…

作者头像 李华
网站建设 2026/7/17 18:39:47

老设备升级Windows 11的TPM绕过与本地账户解决方案

1. 老设备升级Windows 11的困境与破解思路2015年购置的ThinkPad T450s在2023年迎来了第八个年头。当我试图通过官方渠道升级Windows 11时&#xff0c;那个刺眼的"此电脑不满足Windows 11系统要求"提示格外扎眼——核心矛盾就出在TPM 2.0芯片的缺失上。微软官方要求Wi…

作者头像 李华
网站建设 2026/7/17 18:39:32

Agent Harness 高级研发工程师技能解构:从招聘需求到能力图谱

一份极具代表性的Agent Harness&#xff08;智能体编排与运行平台&#xff09;高级研发工程师招聘需求。它反映了一个关键趋势&#xff1a;AI应用开发正在从“调用API写Demo”走向“构建生产级AI工程平台” 。下面将拆解每一条背后的技能要求&#xff0c;并给出系统化的学习路径…

作者头像 李华
网站建设 2026/7/17 18:38:07

CANN/asc-devkit:Where临时空间大小获取

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

作者头像 李华
网站建设 2026/7/17 18:34:03

CANN/asc-devkit Cos临时空间大小接口

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

作者头像 李华
网站建设 2026/7/17 18:32:19

VS Code调试Civil 3D 2027插件:CoreCLR时代.NET 8调试范式迁移指南

1. 项目概述&#xff1a;为什么在 VS Code 里调试 Civil 3D 2027 插件不再是“可选项”&#xff0c;而是工程刚需我从 2016 年开始写 AutoCAD .NET 插件&#xff0c;最早用 Visual Studio 2015 .NET Framework 4.5 搭建第一个命令类插件&#xff0c;那时候调试流程是&#xff…

作者头像 李华