AscendStream

函数功能

AscendStream类的构造函数。

函数原型

原型1:

1
explicit AscendStream::AscendStream(int32_t deviceId = 0);

原型2:

1
explicit AscendStream::AscendStream(int32_t deviceId, AscendStream::FlagType flag); // 支持用户传入FlagType,构造快速流和异步流。构造失败时,会抛出std::runtime_error异常。

参数说明

参数名

输入/输出

说明

deviceId

输入

指定Stream对应的设备ID。

flag

输入

当前创建Stream的flag类型,数据结构如下:
1
2
3
4
5
6
enum FlagType {
        DEFAULT = 0,
        FAST_LAUNCH = 1,
        FAST_SYNC = 2,
        LAUNCH_SYNC = 3,
};

数据结构说明:

  • DEFAULT:不构造快速流。
  • FAST_LAUNCH:FAST_LAUNCH模式,创建Stream时预申请系统内部资源,因此创建Stream的时长增加,下发任务的时长缩短。
  • FAST_SYNC:FAST_SYNC模式,在调用Synchronize接口时,会阻塞当前线程,主动查询任务的执行状态,一旦任务完成,立即返回。
  • LAUNCH_SYNC:同时设置FAST_LAUNCH和FAST_SYNC两种模式。默认为此配置。
    说明:

    对于Atlas 200I/500 A2 推理产品,只支持“DEFAULT”模式。