函数: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间任务的同步等待。 |
父主题: 同步等待
在线提单