# AllocEventID

#### 功能说明

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

#### 函数原型

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

#### 参数说明

| 参数名称 | 输入/输出 | 含义 |
| --- | --- | --- |
| evt | 输入 | HardEvent硬件同步类型。 |

#### 支持的型号

Kirin9020系列处理器

KirinX90系列处理器

#### 注意事项

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

#### 返回值

TEventID

#### 调用示例

```
// 需要插入scalar与vector之间的同步，申请对应的HardEvent的ID
AscendC::TEventID eventID = GetTPipePtr()->AllocEventID<AscendC::HardEvent::V_S>();
AscendC::SetFlag<AscendC::HardEvent::V_S>(eventID);
// ...
AscendC::WaitFlag<AscendC::HardEvent::V_S>(eventID);
// 释放scalar等vector的同步HardEvent的ID
GetTPipePtr()->ReleaseEventID<AscendC::HardEvent::V_S>(eventID);
// ...
```