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

CANN/asc-devkit核间同步API文档

CrossCoreWaitFlag(ISASI)【免费下载链接】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 推理产品xAtlas 推理系列产品 AI CorexAtlas 推理系列产品 Vector CorexAtlas 训练系列产品x功能说明面向分离模式的核间同步控制接口。该接口和CrossCoreSetFlag.md)接口配合使用。具体使用方法请参考CrossCoreSetFlag.md)。函数原型template uint8_t modeId 0, pipe_t pipe PIPE_S __aicore__ inline void CrossCoreWaitFlag(uint16_t flagId)参数说明表 1模板参数说明参数名描述modeId核间同步的模式取值如下模式0AI Core核间的同步控制。模式1AI Core内部Vector核AIV之间的同步控制。模式2AI Core内部Cube核AIC与Vector核AIV之间的同步控制。模式4AI Core内部AIC与AIV之间的同步控制。AIV0与AIV1可单独触发AIC等待。pipe设置这条指令所在的流水类型流水类型可参考硬件流水类型。特别地PIPE_S流水类型仅Ascend 950PR/Ascend 950DT支持。表 2参数说明参数名输入/输出描述flagId输入核间同步的标记。Atlas A2 训练系列产品 / Atlas A2 推理系列产品取值范围是0-10。Atlas A3 训练系列产品 / Atlas A3 推理系列产品取值范围是0-10。Ascend 950PR/Ascend 950DT取值范围如下AIV0发起的flagId 0-10的CrossCoreSetFlag操作对应AIC CrossCoreWaitFlag中flagId 0-10的操作。AIV1发起的flagId 0-10的CrossCoreSetFlag操作对应AIC CrossCoreWaitFlag中flagId 16-26的操作。AIC发起的flagId 0-10的CrossCoreSetFlag操作对应AIV0 CrossCoreWaitFlag中flagId 0-10的操作。AIC发起的flagId 16-26的CrossCoreSetFlag操作对应AIV1 CrossCoreWaitFlag中flagId 0-10的操作。返回值说明无约束说明使用该同步接口时需要按照如下规则设置Kernel类型在纯Vector/Cube场景下需设置Kernel类型为KERNEL_TYPE_MIX_AIV_1_0或KERNEL_TYPE_MIX_AIC_1_0。对于Vector和Cube混合场景需根据实际情况灵活配置Kernel类型。CrossCoreWaitFlag必须与CrossCoreSetFlag.md)接口配合使用避免计算核一直处于阻塞阶段。如果执行CrossCoreWaitFlag时该flagId的计数器的值为0则CrossCoreWaitFlag之后的所有指令都将被阻塞直到该flagId的计数器的值不为0。同一个flagId的计数器最多设置15次。使用该接口模式0时建议开启batchmode模式使算子独占全部所需核资源否则可能因满足以下条件导致死锁多流并发场景≥2条执行流。≥2个算子并发执行。所有并发算子的核数总和超过物理核数。≥2个并发算子使用了核间同步功能。具体而言在多流场景下某条流的核间同步算子虽分配到n个物理核但可能仅有n-m个核先被调度执行而其余m个核因被其他流的核间同步算子抢占而尚未启动。先启动的n-m个核执行到核间同步时等待剩余m核完成而剩余m核因被其他流的核间同步算子占用而无法释放形成死锁。Kernel直调场景下通过__schedmode__(mode)限定符来设置batchmode模式工程化算子开发场景下通过TilingContext的SetScheduleMode接口来设置batchmode模式具体请参考《基础数据结构和接口》。调用示例请参考调用示例.md#section837496171220)。【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
http://www.gsyq.cn/news/1330877.html

相关文章:

  • 2026 在线水印去除工具怎么选?6款实用方法对比测评
  • 2026开窗包装盒厂家推荐:大健康定制领域标杆企业测评 - 资讯速览
  • CubeCL 核心架构揭秘:基于立方体拓扑的跨平台计算模型
  • 深入理解DocQuery架构:LayoutLM模型与零样本学习原理
  • 2026年去水印工具推荐:6大免费去水印工具详测,这款处理速度快到离谱 - 科技热点发布
  • 2026年管棒材检测系统十强厂商最新深度评测
  • Codex SQL迁移终极指南:数据库架构变更的自动化革命
  • 从零实现工业级PID控制器:C语言实战与参数调试避坑指南
  • 5分钟掌握Windows实时屏幕翻译神器:Translumo完整指南
  • 从账单明细看taotoken按token计费模式的清晰度与灵活性
  • CANN/asc-devkit非连续对齐搬入API
  • Oryx 2实时推荐系统实战:基于ALS的协同过滤完整解决方案 [特殊字符]
  • 第4篇:Skill的提示词设计精要——让AI精准理解意图
  • 2026兴城市本地人必选的瓷砖空鼓专业维修公司TOP5推荐!卫生间空鼓翘边,厨房空鼓翘边,客厅空鼓翘边,全天响应,免费上门,5月专业瓷砖空鼓修复公司持证上岗师傅排名最新深度调研方案) - 一休修缮
  • 2026 年 AI赋能 十大品牌排名及解析 - 十大品牌榜
  • 30分钟搞定黑苹果:OpCore Simplify如何让Hackintosh配置从专业难题变成简单操作
  • 初创团队如何利用Taotoken统一管理多个AI项目的API调用与成本
  • STM32驱动SG90舵机老是抖?别慌!可能是你的PWM周期和占空比没算对(附避坑指南与OLED角度显示)
  • IMX6ULL网络启动全解析:从uboot环境变量到内核启动参数的避坑指南
  • 为什么顶级作曲家都在弃用Shazam转投Perplexity?——基于127万条音乐查询日志的权威对比报告
  • 别再从头训练了!用SAM-Adapter‘轻量化’微调,让你的分割模型快速适配新任务
  • Mac NTFS读写终极指南:Nigate跨平台文件系统解决方案深度解析
  • 告别丑表格!用xlsx-style给Vue+Element UI导出的Excel加个美颜(附完整代码)
  • Burp Suite新手必看:用Target Scope精准抓包,告别YouTube和Google Analytics的干扰流量
  • cstore_fdw深度解析:列投影与跳读索引如何实现6倍查询加速
  • 安达发|aps软件系统:塑料薄膜业数字化升级,破生产管理难题
  • 推客系统开发定制|阶梯式提成 佣金规则后台自由配置
  • Go语言实现服务网格集成:从Istio到Linkerd的完整指南
  • LDA vs PCA:用sklearn和手写代码,在随机数据集上彻底搞清区别
  • 保姆级教程:VCSA安装后必做的三件事(改IP、开SSH、查磁盘)