函数:set_config

C函数原型

aclError aclprofSetConfig(aclprofConfigType configType, const char *config, size_t configLength)

Python函数

ret = acl.prof.set_config(config_type, config)

函数功能

acl.prof.create_config接口的扩展接口,用于设置性能数据采集参数。

该接口支持多次调用,用户需要保证数据的一致性和准确性。

输入说明

config_type:int,作为config_type参数值。每个常量表示不同采集配置,若要使用该接口下不同的选项采集多种性能数据,则需要多次调用该接口,详细说明如下:

  • ACL_PROF_STORAGE_LIMIT = 1:指定落盘目录允许存放的最大文件容量,有效取值范围为[200, 4294967295],单位为MB。
  • ACL_PROF_SYS_HARDWARE_MEM_FREQ = 3:片上内存的带宽及内存、LLC的读写带宽数据、acc_pmu数据和SoC传输带宽信息、组件内存采集频率,范围[1,100]。
  • ACL_PROF_LLC_MODE = 4:LLC Profiling采集事件。要求同时设置ACL_PROF_SYS_HARDWARE_MEM_FREQ。可以设置为:
    • Atlas 200/300/500 推理产品
      • capacity:采集AI CPU和Control CPU的LLC capacity数据。
      • bandwidth:采集LLC bandwidth。默认值为capacity。
    • Atlas 推理系列产品
      • read:读事件,三级缓存读速率。
      • write:写事件,三级缓存写速率。默认为read。
    • Atlas 训练系列产品
      • read:读事件,三级缓存读速率。
      • write:写事件,三级缓存写速率。默认为read。
    • Atlas 200I/500 A2推理产品
      • read:读事件,三级缓存读速率。
      • write:写事件,三级缓存写速率。默认为read。
    • Atlas A2训练系列产品/Atlas 800I A2推理产品
      • read:读事件,三级缓存读速率。
      • write:写事件,三级缓存写速率。默认为read。
  • ACL_PROF_SYS_IO_FREQ = 5:NIC、ROCE采集频率,范围[1,100],单位hz。
    • Atlas 200/300/500 推理产品:支持采集NIC。
    • Atlas 200I/500 A2推理产品:支持采集NIC,容器场景参数不生效。
    • Atlas 训练系列产品:支持采集NIC和和ROCE。
    • Atlas A2训练系列产品/Atlas 800I A2推理产品:支持采集NIC和ROCE。
  • ACL_PROF_SYS_INTERCONNECTION_FREQ = 6:集合通信带宽数据(HCCS)、PCIe数据采集开关、片间传输带宽信息采集频率,范围[1,50],单位hz。
    • Atlas 推理系列产品:支持采集PCIe数据。
    • Atlas 训练系列产品:支持采集HCCS、PCIe数据。
    • Atlas A2训练系列产品/Atlas 800I A2推理产品:支持采集HCCS、PCIe数据、片间传输带宽信息。
  • ACL_PROF_DVPP_FREQ:DVPP采集频率,范围[1,100]。

    Atlas 推理系列产品:支持采集性能数据,暂不支持解析。

  • ACL_PROF_HOST_SYS = 8:Host侧进程级别的性能数据采集开关,取值包括cpu和mem。
  • ACL_PROF_HOST_SYS_USAGE = 9:Host侧系统和所有进程的性能数据采集开关,取值包括cpu和mem。
  • ACL_PROF_HOST_SYS_USAGE_FREQ = 10:CPU利用率、内存利用率的采集频率,范围[1,50]。

config:str,配置项的参数值。

返回值说明

ret:int,错误码。

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

约束说明

先调用acl.prof.set_config接口再调用acl.prof.start接口,可根据需求选择调用该接口。