torch_npu.npu.ExternalEvent().record()
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Atlas A3 训练系列产品 | √ |
| Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 | √ |
| Atlas A2 推理系列产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |
功能说明
在指定stream上记录Event事件。本接口被调用时,会捕获当前Stream上已下发的任务,并记录到Event事件中,因此后续若调用wait接口,会等待该Event事件中所捕获的任务都已经完成。
函数原型
torch_npu.npu.ExternalEvent().record(stream) -> None
参数说明
stream (torch_npu.npu.Stream):必选参数,指定用于下发Event事件记录任务的流。
返回值说明
无
约束说明
- 该接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。
- 接口调用顺序:torch_npu.npu.ExternalEvent().wait()-->torch_npu.npu.ExternalEvent().reset()-->torch_npu.npu.ExternalEvent().record()或torch_npu.npu.ExternalEvent().record()-->torch_npu.npu.ExternalEvent().wait()-->torch_npu.npu.ExternalEvent().reset()。
调用示例
import torch
import torch_npu
torch.npu.set_device(0)
event = torch_npu.npu.ExternalEvent()
default_stream = torch_npu.npu.current_stream()
stream = torch.npu.Stream()
event.wait(default_stream)
event.reset(default_stream)
event.record(stream)