了解使用约束
权限约束
- 用户须自行保证使用最小权限原则(如禁止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 200I/500 A2推理产品:落盘的性能原始数据可以通过配置--storage-limit参数来预防磁盘空间被占满。
 
- 解析性能数据过程中如果配置的落盘路径磁盘或用户目录空间已满,会出现解析失败或文件无法落盘的情况,须自行清理磁盘或用户目录空间。
兼容性和场景约束
- 工具要求Python3.7.5及以上版本。
- 应用工程开发务必遵循《CANN 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 200I/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 不支持 不支持 不支持 不支持