这是完整的答案(基于Alex Falappa和Lekensteyn的答案):
确实有可能使nVidia Optimus GPU在Ubuntu上运行CUDA。
CUDA不需要大黄蜂。(有关Bumblebee的更多信息:Ubuntu是否支持采用Optimus技术的NVIDIA GeForce?)
但是,当您需要使用OpenGL显示图形示例时,您确实需要诸如Bumblebee for Optimus系统之类的东西,否则,您在显示器上看不到任何东西或得到错误:
ERROR: Support for necessary OpenGL extensions missing.
如果您需要使用图形密集型程序(例如Blender),则Bumblebee当前是一个不错的选择。
如果您不想安装Bumblebee(即不需要OpenGL),请跳至安装CUDA。
否则,请继续阅读。
安装大黄蜂
请遵循Nvidia Optimus笔记本电脑的工作状况如何?
Bumblebee开发人员目前将这些更新为最新。
一旦安装了Bumblebee并重新启动,便可以通过使用该optirun
程序来选择在启动程序时要使用的图形卡。
例如:
optirun blender
要快速测试所有操作是否正常,请使用:
optirun glxspheres
如果一切正常,您将看到一个带有彩色旋转球的程序。
验证终端中的GL供应商字符串是否包含单词nvidia。
如果仅运行glxspheres
,则会看到供应商字符串包含Intel卡。
运行CUDA程序时,需要安装CUDA工具包和nvidia驱动程序。如果打算编译程序,则还需要SDK。可以在http://developer.nvidia.com/cuda-downloads上找到安装程序,在使Optimus笔记本电脑失效之前,请阅读以下说明。
安装CUDA
司机
我建议从Ubuntu的软件包管理器中安装nvidia驱动程序。如果安装Bumblebee,则无需担心驱动程序。否则,在安装后,请按照https://askubuntu.com/a/107746/6969中的说明禁用 nvidia库。否则,您将失去3D加速度,并可能卡在低分辨率上。
工具包
基本上,您必须下载安装程序,使其可执行并运行。-下载安装程序。截至2013年1月9日,5.0.35是最新驱动程序。因为我使用的是64位操作系统,所以我使用64位11.10 Ubuntu软件包(尽管我正在运行12.10)-使它可执行并允许安装到/usr/local/cuda
:
chmod +x cudatoolkit_5.0.35_linux_64_ubuntu11.10-1.run
sudo ./cudatoolkit_5.0.35_linux_64_ubuntu11.10-1.run
当出现询问您在何处安装CUDA的安装消息时,只需按Enter接受默认值/usr/local/cuda
:
......................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
安装之后,它将打印一些消息,建议将cuda库目录放入您的库搜索路径:
========================================
* Please make sure your PATH includes /tmp/cuda/cuda/bin
* Please make sure your LD_LIBRARY_PATH
* for 32-bit Linux distributions includes /tmp/cuda/cuda/lib
* for 64-bit Linux distributions includes /tmp/cuda/cuda/lib64:/tmp/cuda/cuda/lib
* OR
* for 32-bit Linux distributions add /tmp/cuda/cuda/lib
* for 64-bit Linux distributions add /tmp/cuda/cuda/lib64 and /tmp/cuda/cuda/lib
* to /etc/ld.so.conf and run ldconfig as root
* Please read the release notes in /tmp/cuda/cuda/doc/
* To uninstall CUDA, remove the CUDA files in /tmp/cuda/cuda
* Installation Complete
如果需要,可以跳过此步骤,但是随后必须LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
在运行程序时进行设置。
开发包
如果您希望能够编译CUDA应用程序,则可以按照上述类似的方式安装SDK。下载,使其可执行并运行(不是root用户,例如,不带sudo
!)。
使用CUDA
CUDA不需要nvidia驱动的X服务器即可工作。在这种情况下,您可以运行随机测试程序,例如:
LD_LIBRARY_PATH = / usr / lib / nvidia-current:/ usr / lib32 / nvidia-current:$ LD_LIBRARY_PATH someComputallyIntensiveProgram
如果尚未将CUDA添加到库路径,则需要:
LD_LIBRARY_PATH = / usr / lib / nvidia-current:/ usr / lib32 / nvidia-current:/ usr / local / cuda / lib64:/ usr / local / cuda / lib:$ LD_LIBRARY_PATH someComputallyIntensiveProgram
(如果您的程序是64位,则可以从中剥离32位路径)。
如果CUDA程序确实使用OpenGL可以显示某些内容,则必须使用optirun:
optirun blender
或者,如果您没有将CUDA添加到默认路径:
LD_LIBRARY_PATH = / usr / local / cuda / lib64:/ usr / local / cuda / lib:$ LD_LIBRARY_PATH optirun混合器
安装Blender构建
(使用预编译的CUDA内核)
运行时optirun blender
,您可能会从Blender收到一条消息,提示CUDA内核编译失败,并且在终端中出现一条类似于以下内容的消息:
Compiling CUDA kernel ...
nvcc warning : Option '--opencc-options (-Xopencc)' is obsolete and ignored, when
targeting compute_20, sm_20, or higher
gcc: error trying to exec 'cc1plus': execvp: No such file or directory
CUDA kernel compilation failed, see console for details.
如果要使用Blender的GPU渲染功能,则可能需要使用带有预编译CUDA内核的Blender构建。Blender.org的构建都已预编译CUDA内核。ppa:cheleb / blender-svn构建(有关此问题的更多信息)不支持。
要安装官方的Blender构建,只需遵循此答案中列出的说明即可。
如果已将Blender安装到/usr/lib/blender
,则应该可以从终端运行Blender并通过以下方式使用GPU渲染:
optirun '/usr/lib/blender/blender'