cann/asc-devkit核间同步初始化接口

发布时间:2026/9/22 12:32:30

cann/asc-devkit核间同步初始化接口
InitDetermineComputeWorkspace【免费下载链接】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 训练系列产品不支持功能说明头文件路径为basic_api/kernel_operator_determine_compute_sync_intf.h。InitDetermineComputeWorkspace是基于核间顺序执行的确定性计算的初始化配置接口能够初始化GM共享内存的值完成初始化后才可以调用WaitPreBlock和NotifyNextBlock。以上三个接口共同完成基于核间顺序执行的确定性计算确定性计算的具体含义请参考确定性计算。函数原型__aicore__ inline void InitDetermineComputeWorkspace(GlobalTensorint32_t gmWorkspace, LocalTensorint32_t ubWorkspace)参数说明表1接口参数说明参数名称输入/输出含义gmWorkspace输入临时空间初始化核间同步的共享内存类型为GlobalTensor。ubWorkspace输入临时空间用于操作gmWorkspace类型为LocalTensor。返回值说明无约束说明gmWorkspace申请的空间最少要求为GetBlockNum()*32BytesubWorkspace申请的空间最少要求为GetBlockNum()*3232Bytes。与IBSet/SyncAll不同该接口输入参数gmWorkspace缓存的值不需要初始化为0。使用该接口进行多核控制时算子调用时指定的逻辑AI Core核数numBlocks必须保证不大于实际运行该算子的AI处理器核数否则框架进行多轮调度时会插入异常同步导致Kernel“卡死”现象。调用示例// 初始化GM共享内存的同步状态必须在核函数开始时首先调用。 AscendC::InitDetermineComputeWorkspace(gmWorkspace, ubWorkspace); for(int64_t i 0; i tileNum; i) { AscendC::LocalTensorT srcLocal que.AllocTensorT(); AscendC::DataCopy(srcLocal, srcGlobal[i * tileCount], tileCount); // 等待前序核blockIdx-1完成操作。 AscendC::WaitPreBlock(gmWorkspace, ubWorkspace); // 开启原子累加。 AscendC::SetAtomicAddT(); AscendC::DataCopy(dstGlobal[i * tileCount], srcLocal, tileCount); AscendC::DisableDmaAtomic(); // 通知后序核blockIdx1当前核已完成。 AscendC::NotifyNextBlock(gmWorkspace, ubWorkspace); que.FreeTensor(srcLocal); }完整样例请参考sequential_block_sync示例。【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

数据库系统概论核心概念精解与实战习题指南

数据库系统概论核心概念精解与实战习题指南

2026/9/22 12:30:19

1. 数据库系统核心概念精解 数据库系统是现代信息系统的核心组成部分,它不仅仅是存储数据的仓库,更是一个复杂的数据管理生态系统。理解数据库系统的核心概念,就像学习一门新语言的语法规则,只有掌握了这些基础,才能写…

告别Keil,用VSCode+EIDE打造你的跨平台嵌入式开发工作流

告别Keil,用VSCode+EIDE打造你的跨平台嵌入式开发工作流

2026/9/2 16:19:22

1. 为什么选择VSCodeEIDE替代Keil? 如果你还在用Keil开发嵌入式项目,可能会遇到这些痛点:臃肿的界面、缓慢的编译速度、Windows系统限制、高昂的授权费用。我用了8年Keil后转向VSCodeEIDE,开发效率提升了至少30%。VSCode作为代码…

无人机通信链路:双频遥控与卫星导航的协同原理

无人机通信链路:双频遥控与卫星导航的协同原理

2026/9/6 0:07:35

1. 无人机通信链路的基本构成当你手握遥控器操控无人机时,背后其实有两套通信系统在同时工作。一套是负责实时操控的2.4GHz/5.8GHz无线链路,另一套则是确保无人机能精准定位的卫星导航系统。这两套系统就像无人机的"神经系统"和"GPS导航&…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/21 18:38:46

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/21 18:41:09

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/21 18:36:40

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/21 18:37:26

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/21 18:40:29

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/21 18:36:17

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/22 0:19:28

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/21 23:38:13

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/22 0:48:53

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…