文档
注册

函数:create_stream

C函数原型

aclError aclrtCreateStream(aclrtStream *stream)

Python函数

stream, ret = acl.rt.create_stream()

函数功能

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

输入说明

返回值说明

stream:int,返回创建的Stream的指针地址。

ret:int,错误码。

  • 返回0表示成功。
  • 返回其它值表示失败。

约束说明

每个Context对应一个默认Stream,该默认Stream是调用acl.rt.set_device接口或acl.rt.create_context接口隐式创建的。推荐调用acl.rt.create_stream接口显式创建Stream。
  • 隐式创建Stream:适合简单、无复杂交互逻辑的应用,但缺点在于,在多线程编程中,执行结果取决于线程调度的顺序。
  • 显式创建Stream:推荐显式,适合大型、复杂交互逻辑的应用,且便于提高程序的可读性、可维护性。

对于Atlas 200/300/500 推理产品,硬件资源最多支持1024个Stream,如果已存在多个默认Stream,只能显式创建N个Stream(N=1024-默认Stream个数-执行内部同步的Stream个数),例如,若已存在一个默认Stream和一个执行内部同步的Stream,则只能显式创建1022个Stream。

对于Atlas 200/500 A2推理产品,硬件资源最多支持512个Stream,如果已存在多个默认Stream,只能显式创建N个Stream(N=512-默认Stream个数-执行内部同步的Stream个数),例如,若已存在一个默认Stream和一个执行内部同步的Stream,则只能显式创建510个Stream。

对于Atlas 推理系列产品(Ascend 310P处理器),硬件资源最多支持1024个Stream。
  • 标准形态下,如果已存在多个默认Stream,只能显式创建N个Stream(N=1024-默认Stream个数-执行内部同步的Stream个数),例如,若已存在一个默认Stream和一个执行内部同步的Stream,则只能显式创建1022个Stream。

对于Atlas 训练系列产品,硬件资源最多支持2048个Stream,如果已存在多个默认Stream,只能显式创建N个Stream(N=2048-默认Stream个数-执行内部同步的Stream个数),例如,若已存在一个默认Stream和一个执行内部同步的Stream,则只能显式创建2046个Stream。

对于Atlas A2训练系列产品/Atlas 300I A2推理产品,硬件资源最多支持2048个Stream,如果已存在多个默认Stream,只能显式创建N个Stream(N=2048-默认Stream个数-执行内部同步的Stream个数),例如,若已存在一个默认Stream和一个执行内部同步的Stream,则只能显式创建2046个Stream。

参考资源

接口调用流程与示例,请参见运行管理资源申请与释放同步等待

搜索结果
找到“0”个结果

当前产品无相关内容

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