了解使用约束
权限约束
- 用户须自行保证使用最小权限原则(如禁止other用户可写,常见如禁止666、777)。
- 使用性能分析工具前请确保执行用户的umask值大于等于0027,否则会导致获取的性能数据所在目录和文件权限过大。
- 若要查看umask的值,则执行命令:umask
- 若要修改umask的值,则执行命令:umask 新的取值
- 请确保性能数据保存在不含软链接的当前用户目录下,否则可能引起安全问题。
执行约束
数据落盘约束
- 性能数据采集时间建议在5min以内,并且预留至少20倍于性能原始数据大小的内存和磁盘空间。原始数据大小指采集落盘后的data目录下数据总大小。
- 执行单个采集任务采集性能数据并落盘时,在打开所有采集项的情况下,需要保证磁盘读写速度,具体规格如下:
- 仅使用单个Device进行推理时,磁盘读写速度不低于50MB/s。
- 仅使用单个Device进行训练时,磁盘读写速度不低于60MB/s。
- 多个Device场景下,磁盘读写速度不低于:单个Device磁盘读写速度规格 * Device数。
- 采集性能数据过程中如果配置的落盘路径磁盘空间已满,会出现性能数据无法落盘情况,须保证足够的磁盘空间。
- Atlas 200/300/500 推理产品:落盘的性能原始数据需要用户自行清理,预防磁盘空间被占满。
- Atlas 推理系列产品:落盘的性能原始数据可以通过配置--storage-limit参数来预防磁盘空间被占满。
- Atlas 训练系列产品:落盘的性能原始数据可以通过配置--storage-limit参数来预防磁盘空间被占满。
- Atlas A2训练系列产品/Atlas 800I A2推理产品:落盘的性能原始数据可以通过配置--storage-limit参数来预防磁盘空间被占满。
- Atlas 200/500 A2推理产品:落盘的性能原始数据可以通过配置--storage-limit参数来预防磁盘空间被占满。
- 解析性能数据过程中如果配置的落盘路径磁盘或用户目录空间已满,会出现解析失败的或文件无法落盘的情况,须自行清理磁盘或用户目录空间。
兼容性和场景约束
- 工具要求Python3.7.5及以上版本。
- 应用工程开发务必遵循《AscendCL应用软件开发指南 (C&C++)》手册,调用aclInit()接口完成AscendCL初始化和调用aclFinalize()接口完成AscendCL去初始化,才能获取到完整的性能数据。
如果应用程序已调用aclInit()接口而未调用aclFinalize()接口导致工具采集流程未正常结束,采集数据会不完整。最后1秒内已采集的数据可能因未及时落盘而丢失,但丢失的数据不大于2M,不影响已落盘的性能数据分析。
- 使用pyACL API开发的应用工程在通过msprof命令行方式采集性能数据时,不支持在工程Python脚本中打开相对路径文件。Python脚本中包含打开相对路径文件的操作会导致采集性能数据报错。
- 昇腾虚拟化实例场景采集开关支持情况:
- 以下参数项以msprof命令行和Profiling options开关为例。
- Atlas 200/300/500 推理产品场景不涉及昇腾虚拟化实例场景。
表1 昇腾虚拟化实例场景采集开关支持情况 开关
采集内容
Atlas 推理系列产品
Atlas 训练系列产品
Atlas A2训练系列产品/Atlas 800I A2推理产品
Atlas 200/500 A2推理产品(Ascend RC)
msproftx
msproftx
支持
支持
支持
支持
host-sys=cpu
cpu
支持
支持
支持
不支持
host-sys=mem
memory
支持
支持
支持
不支持
host-sys=disk
disk
不支持
不支持
不支持
不支持
host-sys=network
network
支持
支持
支持
不支持
host-sys=osrt
osrt
不支持
不支持
不支持
不支持
ascendcl
ACL
支持
支持
支持
支持
model-execution
GE
支持
支持
支持
支持
runtime-api
task-time
task_trace(options)
Runtime
支持
支持
支持
支持
hccl
task_trace(options)
HCCL
支持
支持
支持
支持
aicpu
DATAPROCESS
支持
支持
支持
支持
aic-metrics
aic-mode=task-base
AICORE(task-based)
AI Vector CORE(task-based)
支持
支持
支持
支持
training_trace(options)
task-time
task_trace(options)
TSFW
不支持
不支持
不支持
不支持
l2
L2 Cache
不支持
不支持
不支持
不支持
sys-io-profiling
NIC、RoCE
不支持
不支持
不支持
不支持
dvpp-profiling
DVPP
支持
不支持
支持
支持
sys-hardware-mem
片上内存、LLC
不支持
不支持
不支持
不支持
sys-interconnection-profiling
PCIe、HCCS
不支持
不支持
不支持
不支持
sys-cpu-profiling
AICPU、CTRL CPU、TSCPU
不支持
不支持
不支持
不支持
sys-profiling
sys-pid-profiling
cpu、memory
不支持
不支持
不支持
支持
aic-metrics
aic-mode=sample-base
AICORE(sample-based)
不支持
不支持
不支持
不支持
task-time
task_trace(options)
HWTS_LOG
支持
支持
支持
支持
training_trace(options)
FMK
支持
支持
支持
支持
instr-profiling
INSTRUCTION
不支持
不支持
不支持
不支持