在Ubuntu 15.10上安装CUDA 7.5工具包


10

我想分享一下我在Ubuntu 15.10上安装CUDA 7.5(以便与Theano结合使用)的经验。

  1. 我从“其他驱动程序”选项卡安装了Ubuntu 15.10和视频驱动程序(352.41);

  2. 安装了一些依赖项,例如nvidia-modprobe(修复权限问题),并且用于示例编译freeglut3-dev libx11-dev libxmu-dev libxi-dev libglu1-mesa-dev

  3. 并且因为它需要GCC 4.9 sudo apt-get install gcc-4.9 g++-4.9:,所以按以下方式进行符号链接/opt/compiler_cuda(使用我选择的任意名称创建了文件夹):

    $ ls -la /opt/compiler_cuda/
    lrwxrwxrwx 1 root root   22 Nov  2 16:14 cc -> /opt/compiler_cuda/gcc
    lrwxrwxrwx 1 root root   16 Nov  2 16:13 g++ -> /usr/bin/g++-4.9
    lrwxrwxrwx 1 root root   16 Nov  2 16:12 gcc -> /usr/bin/gcc-4.9
    

    注册update-alternatives于:

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
    
  4. CUDA 7.5下载 “运行文件(本地)”版本15.04 ;并安装:

    sudo sh cuda_7.5.18_linux.run --silent --toolkit --override
    sudo sh cuda_7.5.18_linux.run --silent --samples --override
    

    并附加在.bash_aliases(.bashrc读取):

    export PATH=/usr/local/cuda-7.5/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
    
  5. 附加compiler-bindir = /opt/compiler_cuda在中nvcc.profile,因此nvcc可以使用它。

也许有人可以告诉我我是否因为使用错误的工具包版本而炒卡?


问题在哪里?
Goddard

最后一行。我想知道对于15.04版本使用cuda工具包是否“危险”。我以前使用过他们的deb程序包,但是它与驱动程序弄混了,有时我无法启动...这就是为什么我要经历这个非常规的过程...
Guilherme Higashi

sudo mkdir /opt/compiler_cuda sudo ln -s /usr/bin/gcc-4.9 gcc sudo ln -s /usr/bin/g++-4.9 g++ sudo ln -s /opt/compiler_cuda/gcc cc
布莱恩·

Answers:


2

从15.04开始使用CUDA工具包并不危险。该工具包与所有Nvidia堆栈和代码库的nvidia驱动程序接口。这就是为什么人们使用CUDA的原因,因为它使他们更接近硬件以提高性能。


据我了解,所有Nvidia的驱动程序都向后兼容CUDA运行时库的所有版本。这样一来,较新的驱动程序就不会破坏较旧的CUDA代码。
FizxMike

1
可能是这样,但是我们都知道Nvidia和其他公司对Linux的支持程度。最后,我检查了他们提供的352 cuda 7.5。我想花一些时间使用cuda,而不是尝试使用较新的驱动程序来获得理想的配置。我通常会使用别人报告的工具,当时是352,与NVIDIA网站上的7.5捆绑在一起。当然,事情总是在变化,并为您效劳。
哥达德

1
我确实遇到了与gcc版本有关的问题。例如,CUDA 7.5:cuda_runtime.h抱怨说它与gcc版本> 4.9不兼容。Ubuntu 15.10附带了gcc 5.0库存,因此您必须使用/ usr / bin中的符号链接来玩游戏才能编译cuda示例(我习惯了)-但是,在您自己的编译脚本中,您可以轻松指定gcc-4.9。就您的观点而言,我同意让一切正常工作是一件好事……但是linux的优点在于您可以自己挖掘并修复它。
FizxMike

1
是的,能够深入研究并修复它们是我最喜欢Linux的东西,但是有时候您想按照最初的意图进行工作,而不是随便跟踪。这就是为什么14.04和352的cuda 7.5是最简单的方法。
Goddard

对。我被束缚了……有一个下午,我永远都不会回来!
FizxMike

0

总体来说,这是一个阴暗的想法。您将能够制作自己的.cu cuda文件,对其进行编译并运行。但是,如果您尝试链接libcudart进行基本的CUDA api调用,它将失败。(换句话说,包含cuda库的cpp文件将不起作用)。您在玩中有两个不同的驱动程序集,不同的版本。一种是来自apt-get的libcudart和其他cuda库。另一个版本来自运行文件。

总体而言,它应该适合所有CUDA文件,或者手动构建所有cuda。不能将两者混在一起。

但是有关运行.run文件的说明非常有帮助。谢谢。


注意,他没有从CUDA 7.5安装程序安装驱动程序。只要apt-get中的驱动程序比工具包中的驱动程序更新,它就可以工作。
FizxMike
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.