43 Star 158 Fork 480

Ascend/mstt

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

昇腾亲和性CPU绑核工具

昇腾亲和性CPU绑核工具支持用户无需修改代码,直接运行工具即可实现按CPU亲和性策略绑核,提升推理或训练性能。

绑核工具用户arm服务器环境,对于训练或推理任务因为CPU资源调度等出现host_bound问题时使用,可改善该问题;对于非host_bound的场景无明显改善效果。

使用须知

使用绑核工具前手动执行npu-smi info -t topo,出现以下类似信息,说明环境支持绑核,否则请将环境HDK包升级到Ascend HDK 23.0.RC2及以上版本。

        NPU0   NPU1    NPU2    NPU3    NPU4    NPU5    NPU6    NPU7    NPUx   CPU Affinity 
NPU0    X      HCCS    HCCS    HCCS    HCCS    HCCS    HCCS    HCCS    ...    xx-xx
NPU1    HCCS   X       HCCS    HCCS    HCCS    HCCS    HCCS    HCCS    ...    xx-xx
NPU2    HCCS   HCCS    X       HCCS    HCCS    HCCS    HCCS    HCCS    ...    xx-xx
NPU3    HCCS   HCCS    HCCS    X       HCCS    HCCS    HCCS    HCCS    ...    xx-xx
NPU4    HCCS   HCCS    HCCS    HCCS    X       HCCS    HCCS    HCCS    ...    xx-xx
NPU5    HCCS   HCCS    HCCS    HCCS    HCCS    X       HCCS    HCCS    ...    xx-xx
NPU6    HCCS   HCCS    HCCS    HCCS    HCCS    HCCS    X       HCCS    ...    xx-xx
NPU7    HCCS   HCCS    HCCS    HCCS    HCCS    HCCS    HCCS    X       ...    xx-xx
NPUx    ...    ...     ...     ...     ...     ...     ...     ...     ...    ...

使用方式

1.执行以下命令实施绑核:

  • 直接执行绑核命令
python3 bind_core.py -app="inferenec/train cmd"

-app或--application:配置训练或推理程序的执行命令,执行命令前后加引号。 -t或--time:设置绑核之前的等待时间,单位为秒。

该方式会自动拉起训练或推理任务,检测任务进程,并实施绑核。

  • 手动拉起训练或推理任务后再执行绑核
python3 bind_core.py

该方式会循环查找(循环5次,每次10s,若找不到进程,则直接退出)使用到NPU的任务进程,并实施绑核。

2.绑核运行过程的日志会保存到当前路径的bind_core_时间戳.log。

3.如果推理或训练进程拉起后需要一定时间预处理,才会真正执行任务,可在执行绑核命令时设置-t/--time参数(单位秒,最大值10000),绑核工具会在延迟配置的时间后,再实施绑核动作。例如:python3 bind_core.py -app="cmd" -t=10,配置后工具会在10秒后执行绑核操作。

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/ascend/mstt.git
git@gitee.com:ascend/mstt.git
ascend
mstt
mstt
master

搜索帮助