Ascend C FetchEventID API文档
2026/7/15 14:58:58 网站建设 项目流程

FetchEventID

产品支持情况

产品

是否支持

Ascend 950PR/Ascend 950DT

Atlas A3 训练系列产品 / Atlas A3 推理系列产品

Atlas A2 训练系列产品 / Atlas A2 推理系列产品

Atlas 200I/500 A2 推理产品

x

Atlas 推理系列产品 AI Core

Atlas 推理系列产品 Vector Core

x

Atlas 训练系列产品

Kirin X90

Kirin 9030

功能说明

根据HardEvent(硬件类型的同步事件)获取相应可用的TEventID,此接口不会申请TEventID,仅提供可用的TEventID。

函数原型

template <HardEvent evt> __aicore__ inline TEventID FetchEventID() __aicore__ inline TEventID FetchEventID(HardEvent evt)

参数说明

参数名

输入/输出

含义

evt

输入

HardEvent类型,硬件同步类型。

该类型的具体说明请参考SetFlag/WaitFlag(ISASI)中同步类型的说明。

约束说明

相比于AllocEventID,FetchEventID适用于临时使用ID的场景,获取ID后,不会对ID进行占用。在一些复杂的使用场景下,需要开发者自行保证使用正确。比如相同流水连续调用SetFlag/WaitFlag,如果两次传入的ID都是使用FetchEventID获取的,因为两者ID相同会出现程序卡死等未定义行为,这时推荐用户使用AllocEventID。

返回值说明

TEventID

调用示例

AscendC::TEventID eventIdVToS = GetTPipePtr()->FetchEventID(AscendC::HardEvent::V_S); //需要插scalar等vector的同步,申请对应的HardEvent的ID AscendC::SetFlag<AscendC::HardEvent::V_S>(eventIdVToS); AscendC::WaitFlag<AscendC::HardEvent::V_S>(eventIdVToS);

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询