昇腾社区首页
中文
注册

使用约束

使用Profiling功能具有以下约束:

  • 使用Profiling功能前请确保执行用户的umask值大于等于0027,否则会导致获取的Profiling数据所在目录和文件权限过大。
    • 若要查看umask的值,则执行命令:umask
    • 若要修改umask的值,则执行命令:umask 新的取值
  • Profiling不支持发起多个基于相同结果目录的Profiling,可能会导致采集的数据结果不准确。比如main程序中包含多个独立推理任务,通过Profiling调用时会出现该问题。
  • 不支持在同一个Device侧同时拉起多个Profiling任务。
  • 配置Profiling相关路径时,仅支持路径由字母、数字和下划线字符组成,不支持带有特殊字符的路径。
  • Profiling功能与Dump功能不建议同时使用,即启动Profiling前,请关闭数据Dump。原因:如果同时开启,由于Dump操作会影响系统性能,会造成Profiling采集的性能数据指标不准确。
  • 采集单个Profiling任务数据并落盘时,在打开所有采集项的情况下,需要保证磁盘读写速度,具体规格如下:仅使用单个Device进行推理时,磁盘读写速度不低于50MB/s;多个Device场景下,磁盘读写速度不低于“单个Device磁盘读写速度规格*Device数”。仅Atlas 200/300/500 推理产品有该约束。
  • 采集Profiling数据过程中如果配置的落盘路径磁盘空间已满,会出现性能数据无法落盘情况,因此,需要用户保证磁盘空间够用。另外,落盘的性能原始数据需要用户自行老化,预防磁盘空间被占满(Atlas 200/300/500 推理产品);落盘的性能原始数据可以通过配置storage-limit参数来预防磁盘空间被占满(Atlas 推理系列产品Atlas 训练系列产品)。
  • 解析Profiling数据过程中如果配置的落盘路径磁盘或用户目录空间已满,会出现解析失败的或文件无法落盘的情况,须自行清理磁盘或用户目录空间。
  • Profiling工具需要配套Python版本使用,Python版本的支持依赖于CANN 软件安装指南中的“通过命令行方式安装>安装开发环境>安装OS依赖>依赖列表”章节,本手册以python3为例进行介绍。
  • 应用工程开发务必遵循应用软件开发指南 (C&C++)手册,调用aclInit()接口完成AscendCL初始化和调用aclFinalize()接口完成AscendCL去初始化,才能获取到完整的Profiling性能数据。

    如果应用程序已调用aclInit()接口而未调用aclFinalize()接口导致Profiling流程未正常结束,采集数据会不完整,最后1秒内profiling已采集的数据可能因未及时同步而丢失,但丢失的数据不大于2M,不影响已同步的性能数据分析。

  • 算力分组场景下,AI Core性能指标采集项只支持采集类型为task-based的PipeUtilization性能数据采集,仅Atlas 训练系列产品有该约束。
  • 使用pyACL API开发的应用工程在通过命令行方式(msprof)采集Profiling数据时,不支持在工程Python脚本中打开相对路径文件。Python脚本中包含打开相对路径文件操作会导致采集Profiling数据报错。