带有optirun的IPython笔记本

asP*_*dge 7 python ipython-magic jupyter-notebook

我想用一台带有NVIDIA Optimus(bumblebee)的Linux笔记本电脑上的IPython笔记本运行pycuda.通常,我可以通过键入来运行python脚本optirun python my_pycuda_script.py

但是,如果我开始optirun ipython notebook然后打开一个笔记本,一个新的内核启动,我不能再运行pycuda了.我发现如果我用调用optirun new_location_of_python它的shell脚本替换我的python可执行文件就可以了 - 但这是一个非常丑陋的黑客.有一个更好的方法吗?也许有一个神奇的功能,所以只有相关的笔记本电脑是用optirun启动的?

谢谢你的帮助!

roa*_*nai 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}"
    ]
}
Run Code Online (Sandbox Code Playgroud)

但在我的电脑中,它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
Run Code Online (Sandbox Code Playgroud)

希望这就是您所需要的:-)。