0

我使用manjaro并想使用vscode工具来调试我的python程序,但我使用CUDA,所以我通常使用这样的命令:

optirun ipython program.py arg1 arg2

当我尝试调试程序 optirun 时没有调用,所以我无权访问 GPU,如何在 python(或 ipython)之前调用 optirun?

我尝试更改 settins.json 和 launch.json 以将其添加到命令中,但它不起作用。

谢谢。

4

2 回答 2

1

这就是我所做的,并且奏效了。

  1. 制作一个 bash 脚本,将其命名为任何名称,假设script.sh.
#!/bin/bash

optirun python "$@"
  1. .vscode/launch.json设置"pythonPath"./script.sh.
    这是一个例子launch.json
{
   // Use IntelliSense to learn about possible attributes.
   // Hover to view descriptions of existing attributes.
   // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
   "version": "0.2.0",
   "configurations": [


       {
           "name": "Python: Current File",
           "type": "python",
           "request": "launch",
           "program": "${file}",
           "console": "integratedTerminal",
           "linux": {
               "pythonPath": "./script.sh"
           },
       }
   ]
}
  1. 现在它应该按预期工作。

在 python 中调试 OpenCL 应用程序时,我也遇到了同样的问题。我的 Nvidia 显卡由 optirun 管理。$@将 vscode 提供的所有命令行参数传递给 python 解释器。

于 2019-06-15T05:57:03.527 回答
0

您可以尝试通过设置launch.json编辑您的指向optirun作为您的 Python 解释器。"python.pythonPath"

于 2019-05-17T22:17:39.467 回答