下载
中文
注册

图单流执行功能

功能简介

在静态Shape场景下,图执行过程中可手动开启单Stream执行功能,缺省情况下不开启。

Stream流一般用于维护一些异步操作的执行顺序,确保按照应用程序中的代码调用顺序在Device上执行。

  • 对于模型结构无实际并发效果且又采用了多Stream执行的模型,会因流间切换带来额外的计算耗时,影响性能,此时可通过开启单Stream来提高图执行性能。
  • 调用torch_npu.npu_prefetch接口时(参考API 参考中“Ascend Extension for PyTorch自定义API”章节),不支持同时开启本功能,否则影响算子正常执行。
  • 当通信算法的编排展开位置在Device侧的AI Vector Core计算单元时(CANN环境变量配置如下),不支持同时开启本功能。
    1
    export HCCL_OP_EXPANSION_MODE="AIV"
    

使用方法

该功能通过torchair.get_npu_backend中compiler_config配置,示例如下,参数介绍参见表1

1
2
3
4
5
import torch_npu, torchair
config = torchair.CompilerConfig()
# 开启图单流执行功能
config.ge_config.enable_single_stream = True
npu_backend = torchair.get_npu_backend(compiler_config=config)
表1 参数说明

参数名

参数说明

是否必选

enable_single_stream

图执行时是否开启单流模式。

  • False(缺省值):不开启单流模式。
  • True:开启单流模式。