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

CANN/asc-devkit Ascend C SIMD API GetBlockIdx函数文档

GetBlockIdx

【免费下载链接】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:支持

功能说明

头文件路径为:"basic_api/kernel_operator_sys_var_intf.h"

获取当前逻辑AI Core的索引,用于代码内部的多核逻辑控制及多核偏移量计算等。

函数原型

__aicore__ inline int64_t GetBlockIdx()

参数说明

返回值说明

返回当前逻辑AI Core的索引。

  • 仅启动AIC或AIV的场景,索引的范围为[0, numBlocks)。numBlocks由用户使用<<<>>>调用时配置,可以通过GetBlockNum获取。
  • 同时启动AIC与AIV的场景,在AIC、AIV上索引的取值范围不同,取值范围可以通过GetTaskRatio() * numBlocks计算得到,在当前支持的配置下:
    • 当AIC与AIV比例为1:2时,AIC上取值范围为[0, numBlocks),AIV上取值范围为[0, 2 * numBlocks);
    • 当AIC与AIV比例为1:1时,AIC上取值范围为[0, numBlocks),AIV上取值范围为[0, numBlocks)。

约束说明

调用示例

// srcGm、dstGm为外部输入的gm空间 AscendC::GlobalTensor<float> srcGlobal; AscendC::GlobalTensor<float> dstGlobal; int64_t blockNum = AscendC::GetBlockNum(); // 获取当前任务配置的逻辑AI Core的数量 int64_t perBlockSize = srcDataSize / blockNum; // 每个核平分处理相同个数 int64_t blockIdx = AscendC::GetBlockIdx(); // 获取当前工作的核ID srcGlobal.SetGlobalBuffer(reinterpret_cast<__gm__ float*>(srcGm + blockIdx * perBlockSize * sizeof(float)), perBlockSize); // 分配每个核上的srcGlobal的内存地址 dstGlobal.SetGlobalBuffer(reinterpret_cast<__gm__ float*>(dstGm + blockIdx * perBlockSize * sizeof(float)), perBlockSize); // 分配每个核上的dstGlobal的内存地址

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

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

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

相关文章:

  • 3个核心功能解决远程BT下载管理难题:Transmission Remote GUI完整指南
  • Wand-Enhancer终极指南:如何免费解锁WeMod完整功能并实现手机远程控制
  • “Ctrl+C/V”时代终结?2024Q2企业调研显示:启用AI Excel功能的团队错误率下降68%,你还在等什么?
  • 劳力士中国大陆官方售后服务中心|官网认证电话及地址权威公示(2026年7月最新) - 亨得利客户服务中心
  • 猫抓Cat-Catch 2.7.0:浏览器资源嗅探的终极利器,轻松下载网络媒体资源
  • 为什么选择x2nestos?5大核心优势让openEuler转NestOS更简单
  • YimMenu完整指南:如何用免费开源工具提升GTA5游戏体验与安全防护
  • 新手3分钟上手,老手惊呼“早该知道”——Canva AI视频编辑的9个反常识工作流(内部培训文档流出)
  • 5分钟快速上手:Windows 7 SP2终极更新指南,让经典系统重获新生
  • 【小程序课程设计/毕业设计】民宿智能排班入住系统的设计与实现 基于 SpringBoot + 微信小程序的轻量化民宿预订管理系统【附源码、数据库、万字文档】
  • 小白/程序员必看:如何避免踩坑,成功拥抱医疗大模型浪潮?
  • HeyGen翻译API调用成本骤降61%的冷启动优化术,含真实企业账单对比图与Token精算公式
  • 大语料集训练词向量的工程实践:从Word2Vec到领域适配
  • 3步让你的Mac鼠标滚动如丝般顺滑:SSD硬盘都羡慕的流畅体验
  • 硬件与SI工程师协作:高速PCB设计实践
  • Windows安卓应用安装终极指南:APK安装器完整使用教程
  • 白上吹雪主题鼠标指针安装指南:Windows系统个性化定制教程
  • 5分钟掌握Transmission Remote GUI:跨平台远程BT下载管理终极指南
  • Windows平台B站终极体验:BiliBili-UWP客户端完整指南
  • 5分钟搞定!FitGirl游戏启动器终极指南:告别繁琐,开启高效游戏管理新时代
  • 基于Dify与DeepSeek构建企业级本地知识库问答系统
  • C语言预处理指令#include详解——从原理到实战避坑指南
  • SAW与BAW滤波器:原理、选型与应用全解析
  • 昇腾CANN:LocalTensor类型重解释
  • 硬件电路设计入门与实战技巧全解析
  • 零代码≠零风险!2026办公AI沙盒环境搭建指南(含37个企业级安全熔断点配置清单)
  • AnyFlip电子书下载器完整指南:3分钟学会永久保存在线翻页书
  • Counterfeit-V3.0完整指南:3步掌握专业级AI绘画技巧
  • RT-Thread Nano自动初始化与MSH命令导出机制详解
  • TwitchLeecher终极指南:快速下载Twitch直播视频的完整教程