Skip to main content

函数:get_stream_overflow_switch

函数:get_stream_overflow_switch

C函数原型aclError aclrtGetStreamOverflowSwitch(aclrtStream stream, uint32_t flag)
Python函数flag, ret = acl.rt.get_stream_overflow_switch(stream)
函数功能针对指定Stream,获取其当前溢出检测开关是否打开。 Atlas 200/500 A2推理产品,当前版本不支持该接口。
输入说明stream:int,待操作Stream的指针地址,若传入0,则操作默认Stream。
返回值说明flag:int,溢出检测开关,取值范围如下:
- 0:关闭
- 1:打开
ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。

父主题: Stream管理

函数:set_stream_failure_mode

C函数原型aclError aclrtSetStreamFailureMode(aclrtStream stream, uint64_t mode)
Python函数ret = acl.rt.set_stream_failure_mode(stream, mode)
函数功能当一个Stream上下发了多个任务时,可通过本接口指定任务调度模式,以便控制某个任务失败后是否继续执行下一个任务。同步接口。
输入说明stream:int,待操作Stream的指针地址。 mode:int,当一个Stream上下发了多个任务时,可通过本参数指定任务调度模式,以便控制某个任务失败后是否继续执行下一个任务。 取值范围如下:
- ACL_CONTINUE_ON_FAILURE = 0:默认值,某个任务失败后,继续执行下一个任务。
- ACL_STOP_ON_FAILURE = 1:某个任务失败后,停止执行后续的任务。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明“stream”参数不支持指定默认Stream(即向该参数传入0)的任务调度模式。

父主题: Stream管理

函数:create_event

C函数原型aclError aclrtCreateEvent(aclrtEvent *event)
Python函数event, ret = acl.rt.create_event()
函数功能创建一个Event,创建出来的Event可用于统计两个Event之间的耗时、多Stream场景下的同步等待、Event内的同步等待等场景。同步接口。
输入说明
返回值说明event:int,创建的Event对象的指针地址。 ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明
相关接口您也可以使用acl.rt.create_event_with_flag接口创建Event,由于该接口当前仅支持将“flag”设置为“0x00000008”,表示创建的Event数量不受限制且创建出来的Event仅用于统计两个Event之间的耗时。
参考资源- 接口调用流程,参见多Stream接口调用流程
- 接口调用示例,参见关于Event的同步等待关于Stream间任务的同步等待

父主题: 同步等待

函数:create_event_with_flag

C函数原型aclError aclrtCreateEventWithFlag(aclrtEvent *event, uint32_t flag)
Python函数event, ret = acl.rt.create_event_with_flag(flag)
函数功能创建一个带标识的Event,不同标识的Event用于不同的功能,同步接口。
输入说明flag:int,Event的flag,可支持以下选项。
- ACL_EVENT_TIME_LINE = 0x00000008,表示创建的Event数量不受限制且创建出来的Event可用于统计两个Event之间的耗时。
- A****CL_EVENT_SYNC = 0x00000001,表示创建的Event数量受限且创建出来的可用于多Stream间的同步等待。
“flag”为bitmap,支持对单个flag或者多个flag进行操作,例如:acl.rt.create_event_with_flag( ACL_EVENT_TIME_LINE | ACL_EVENT_SYNC )。使用本接口创建Event时,若“flag”参数值包含“ACL_EVENT_SYNC”,则创建出来的Event数量受限,具体参考如下: Atlas 200/500 A2推理产品,单个Device上最多支持1023个Event。
返回值说明event:int,创建的Event对象指针地址。 ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明
相关接口您也可以使用acl.rt.create_event接口创建Event,Event数量有限,创建出来的Event可用于统计两个Event之间的耗时、多Stream场景下的同步等待、Event内的同步等待等场景。
参考资源- 接口调用流程,参见多Stream接口调用流程
- 接口调用示例,参见关于Event的同步等待关于Stream间任务的同步等待

父主题: 同步等待

函数:destroy_event

C函数原型aclError aclrtDestroyEvent(aclrtEvent event)
Python函数ret = acl.rt.destroy_event(event)
函数功能销毁一个Event,只能销毁通过acl.rt.create_event/acl.rt.create_event_with_flag接口创建的Event,同步接口。 在销毁时,用户需确保等待acl.rt.synchronize_event接口或acl.rt.stream_wait_event接口涉及的任务都结束后再销毁。
输入说明event:int,待销毁的Event指针地址。
返回值说明ret:int,错误码。
- 返回0表示成功。
- 返回其它值表示失败。
约束说明在调用acl.rt.destroy_event接口销毁指定Event时,需确保其它接口没有正在使用该Event。
参考资源- 接口调用流程,参见多Stream接口调用流程
- 接口调用示例,参见关于Event的同步等待关于Stream间任务的同步等待

父主题: 同步等待

在线提单