昇腾社区首页
EN
注册

AllocEventID

产品支持情况

产品

是否支持

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

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

Atlas 200I/500 A2 推理产品

x

Atlas 推理系列产品AI Core

Atlas 推理系列产品Vector Core

x

Atlas 训练系列产品

Atlas 200/300/500 推理产品

x

功能说明

用于申请HardEvent(硬件类型同步事件)的TEventID,必须与ReleaseEventID搭配使用,调用该接口后,会占用申请的TEventID,直至调用ReleaseEventID释放。

函数原型

1
2
template <HardEvent evt>
__aicore__ inline TEventID TPipe::AllocEventID()

参数说明

表1 模板参数说明

参数名

描述

evt

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

约束说明

TEventID有数量限制,使用结束应该立刻调用ReleaseEventID释放,防止TEventID耗尽。

返回值

TEventID

调用示例

1
2
3
4
5
6
7
8
AscendC::TEventID eventID = GetTPipePtr()->AllocEventID<AscendC::HardEvent::V_S>(); //需要插scalar等vector的同步,申请对应的HardEvent的ID
AscendC::SetFlag<AscendC::HardEvent::V_S>(eventID);
......
......
......
AscendC::WaitFlag<AscendC::HardEvent::V_S>(eventID);
GetTPipePtr()->ReleaseEventID<AscendC::HardEvent::V_S>(eventID); //释放scalar等vector的同步HardEvent的ID
......