7

我想在装有 NVIDIA Optimus(大黄蜂)的 Linux 笔记本电脑上从 IPython 笔记本上运行 pycuda。通常,我可以通过键入来运行 python 脚本optirun python my_pycuda_script.py

但是如果我启动optirun ipython notebook然后打开一个笔记本,一个新的内核就会启动,我不能再运行 pycuda。我发现,如果我用调用optirun new_location_of_python它的 shell 脚本替换我的 python 可执行文件,它就可以工作——但这​​是一个非常丑陋的 hack。有一个更好的方法吗?也许有一个神奇的功能,这样只有相关的笔记本才能用 optirun 启动?

谢谢你的帮助!

4

1 回答 1

4

我刚刚从github:data_science_workspace找到了一个解决方案。

对 Jupyter 的 GPU 支持:

对于带有 optimus 的 linux 上的计算机,您必须制作一个将使用“optirun”调用的内核才能使用 GPU 加速。为此,请转到以下文件夹:

cd ~/.local/share/jupyter/kernels/

然后编辑文件python3/kernel.json以将"optirun"其作为第一个条目添加到argv数组中:

{
"language": "python",
"display_name": "Python 3",
"argv": [
    "optirun",
    "/home/fabien/.conda/envs/data_science/bin/python",
    "-m",
    "ipykernel",
    "-f",
    "{connection_file}"
    ]
}

但在我的电脑中,kernel.json是在:~/miniconda3/envs/nn/share/jupyter/kernels/python3.

我的康达信息:

$ conda info
user-agent : conda/4.3.30 requests/2.14.2 CPython/3.6.1 Linux/4.9.79-1-MANJARO arch/Manjaro glibc/2.26

希望这是你需要的:-)。

于 2018-02-14T06:35:34.053 回答