昇腾社区首页
中文
注册
开发者
下载

limit_core_num

功能说明

reduce-overhead模式和max-autotune模式下可通过本接口配置算子执行时使用的最大AI Core数和Vector Core数。

  • 说明1:实际使用的核数可能少于配置的最大核数。
  • 说明2:配置的最大核数不能超过AI处理器本身允许的最大AI Core数量与最大Vector Core数量。

注意,两种模式的底层实现并不一样,reduce-overhead模式实现了Stream级核数配置,max-autotune模式实现了算子级核数配置,具体功能介绍参见图内设置AI Core和Vector Core核数(aclgraph)图内设置AI Core和Vector Core核数(Ascend IR)

函数原型

limit_core_num(op_aicore_num: int, op_vectorcore_num: int)

参数说明

参数

输入/输出

说明

是否必选

op_aicore_num

输入

整数类型,表示算子运行时的最大AI Core数,取值范围为[1, max_aicore]

必选

op_vectorcore_num

输入

整数类型,表示算子运行时的最大Vector Core数,取值范围为[1, max_vectorcore]。

当AI处理器上仅存在AI Core不存在Vector Core时,此时仅支持取值为0。

必选

返回值说明

约束说明

  • 本功能支持reduce-overhead模式和max-autotune模式。
  • max-autotune模式下,算子级核数配置优先级高于全局核数配置,具体参见图内设置AI Core和Vector Core核数(Ascend IR)
  • 配置核数不能超过AI处理器本身允许的最大核数,假设最大AI Core数为max_aicore、最大Vector Core数量为max_vectorcore,系统默认采用最大核数作为实际运行核数。
    您可通过“CANN软件安装目录/<arch>-linux/data/platform_config/<soc_version>.ini”文件查看,如下所示,说明AI处理器上存在24个Cube Core,存在48个Vector Core。
    1
    2
    3
    4
    [SoCInfo]
    ai_core_cnt=24
    cube_core_cnt=24
    vector_core_cnt=48