Vscode调试多卡程序

问题描述

今天在运行一个多卡程序时一直没有达到想要的效果,于是想在vscode里调试看一下为啥,找到这篇博客之后学会了Vscode调试多卡程序的方法。

解决方案

如果是使用torchrun运行的程序,将该项目中的./.vscode/launch.json修改为:

 {
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: torchrun",
            "type": "python",
            "request": "launch",
            // 设置 program 的路径为 torchrun 脚本对应的绝对路径
            // 可使用 pip show torch 查看 torch 的安装路径
            "program": "/home/username/miniconda3/envs/py39pt20cu117/lib/python3.9/site-packages/torch/distributed/run.py",
            // 设置 torchrun 命令的参数
            "args":[
                "--nproc_per_node=2",
                "/home/username/codebases/mmengine/examples/distributed_training.py",
                "--launcher=pytorch"
            ],
            "console": "integratedTerminal",
            "justMyCode": true
        }
    ]
}

如果你使用的启动命令是 python -m torch.distributed.launch --nproc_per_node=2 examples/distributed_training.py --launcher pytorch,则只需将上面配置的 program 的 run.py 替换为 launcher.py 即可。

参考链接

VS Code 调试 PyTorch 多卡程序 - 知乎

你可能感兴趣的:(python,vscode)