服务化调优工具主要使用msServiceProfiler接口,在MindIE Service推理服务化进程中,采集关键过程的开始和结束时间点,识别关键函数或迭代等信息,记录关键事件,支持多样的信息采集,对性能问题快速定界。
工具操作如下:
请参见《MindIE安装指南》完成MindIE的安装和配置并确认MindIE Service可以正常运行。
服务化性能数据采集通过json配置文件,配置采集数据的开关、保存路径等,以ms_service_profiler_config.json文件名为例,配置文件格式如下:
1 2 3 4 5 6 7 8 | { "enable": 1, "prof_dir": "${PATH}/prof_dir/", "profiler_level": "INFO", "host_system_usage_freq": -1, "npu_memory_usage_freq": -1, "acl_task_time": 0 } |
参数 |
说明 |
是否必选 |
---|---|---|
enable |
是否开启性能数据采集的开关,取值为:
|
是 |
prof_dir |
采集到的性能数据的存放路径,可自定义,默认值为${HOME}/.ms_server_profiler。 |
否 |
profiler_level |
数据采集等级,取值为INFO。 |
否 |
host_system_usage_freq |
CPU和内存系统指标采集频率,默认关闭不采集。范围整数1~50,单位hz,表示每秒采集的次数。设置为-1时关闭采集该指标。 说明:
开启该功能可能占用较大内存。 |
否 |
npu_memory_usage_freq |
NPU Memory使用率指标的采集频率,默认关闭不采集。范围整数1~50,单位hz,表示每秒采集的次数。设置为-1时关闭采集该指标。 说明:
开启该功能可能占用较大内存。 |
否 |
acl_task_time |
开启采集算子下发耗时、算子执行耗时数据的开关,取值为:
说明:
该功能开启时会占用一定的设备性能,导致采集的性能数据不准确,建议在模型执行耗时异常时开启,用于更细致的分析。 |
否 |
export SERVICE_PROF_CONFIG_PATH="${PATH}/ms_service_profiler_config.json"
重新开启一个命令行窗口,用户可以通过修改ms_service_profiler_config.json配置中的“enable”字段,实时切换数据采集功能的开启和关闭。
采集完成后在2中prof_dir参数指定的路径下落盘Profiling性能数据。
python >= 3.10 pandas >= 2.2 numpy >= 1.24.3 psutil >= 5.9.5
python3 -m ms_service_profiler.parse --input-path=${PATH}/prof_dir/ --output-path=${PATH}/prof_dir/
--input-path指定为2中prof_dir参数指定的路径。
解析完成后在--output-path参数指定的目录下生成解析后的性能数据文件,默认为当前目录。
解析后的性能数据支持多种可视化方式,推荐使用MindStudio Insight工具可视化,详细操作和分析说明请参见《MindStudio Insight 用户指南》中的“服务化调优”章节。