文档
注册

函数:create_stream_with_config

C函数原型

aclError aclrtCreateStreamWithConfig(aclrtStream *stream, uint32_t priority, uint32_t flag)

Python函数

stream, ret = acl.rt.create_stream_with_config(priority, flag)

函数功能

在当前进程或线程中创建一个Stream,同步接口。

Atlas 推理系列产品(Ascend 310P处理器),相比acl.rt.create_stream接口,使用本接口可以创建一个快速下发任务的Stream,但会增加内存消耗或CPU的性能消耗。

Atlas 训练系列产品,相比acl.rt.create_stream接口,使用本接口可以创建一个快速下发任务的Stream,但会增加内存消耗或CPU的性能消耗。

Atlas A2训练系列产品/Atlas 300I A2推理产品,相比acl.rt.create_stream接口,使用本接口可以创建一个快速下发任务的Stream,但会增加内存消耗或CPU的性能消耗。

Atlas 200/300/500 推理产品,使用本接口与acl.rt.create_stream接口相比是等价的。

使用本接口与acl.rt.create_stream接口相比是等价的。

输入说明

priority:int,优先级。

Atlas 200/300/500 推理产品,当前固定设置为0,预留参数,暂不使用。

Atlas 训练系列产品,当前固定设置为0,预留参数,暂不使用。

Atlas A2训练系列产品/Atlas 300I A2推理产品,当前固定设置为0,预留参数,暂不使用。

Atlas 200/500 A2推理产品,当前固定设置为0,预留参数,暂不使用。

Atlas 推理系列产品(Ascend 310P处理器),该参数取值范围:[0, 7],总共最多支持8个优先级,数字越小代表优先级越高,其中,0的优先级最高,7的优先级最低。配置取值范围以外的值,本接口返回报错。

flag:int,Stream的flag。

取值范围:

  • ACL_STREAM_FAST_LAUNCH = 1,使用该模式创建出来的Stream,在使用Stream时,下发任务的速度更快。

    相比acl.rt.create_stream接口创建出来的Stream,在使用Stream时才会申请系统内部资源,导致下发任务的时长增加,使用本接口的“ACL_STREAM_FAST_LAUNCH”模式创建Stream时,会在创建Stream时预申请系统内部资源,因此创建Stream的时长增加,下发任务的时长缩短,总体来说,创建一次Stream,使用多次的场景下,总时长缩短,但创建Stream时预申请内部资源会增加内存消耗。

  • ACL_STREAM_FAST_SYNC = 2,使用该模式创建出来的Stream,在调用acl.rt.synchronize_stream接口时,会阻塞当前线程,主动查询任务的执行状态,一旦任务完成,立即返回。

    相比acl.rt.create_stream接口创建出来的Stream,在调用acl.rt.synchronize_stream接口时,会一直被动等待Device上任务执行完成的通知,等待时间长,使用本接口的“ACL_STREAM_FAST_SYNC”模式创建的Stream,没有被动等待,总时长缩短,但主动查询的操作会增加CPU的性能消耗。

    说明:

    配置取值范围之外的值,本接口创建出来的Stream等同于acl.rt.create_stream接口。

返回值说明

stream:int,表示创建的Stream对象的指针地址。

ret:int,错误码。

  • 返回0表示成功。
  • 返回其它值表示失败。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词