在 Ubuntu 12.10 GeForce GT 630 上安装 CUDA

在 Ubuntu 12.10 GeForce GT 630 上安装 CUDA

您对在 Ubuntu 12.10 上安装 CUDA API 有什么印象?我读过一些与 gcc 不兼容的内容(这里例如),你必须重新安装 v.4.4,但即使这样,你的系统也可能会崩溃。因为我不想再重新安装系统(我最近做了几次:p)我想问你是否脚本在我的 amd proc 上的 x64 Ubuntu 12.10 上是安全的。

我接受的答案允许使用 4.6 安装 CUDA 3 组件,但驱动程序不合适,也许只有 gcc-4.4 和 g++-4.4 确实合适 - 现在我尝试 4.4

因此,请阅读 Soroosh129 的回答,然后按照他描述的方式应用我的其他建议。

补充笔记:

您必须将 CUDA 添加到 PATH 和 LD_LIBRARY_PATH,我已在我的主目录和根主文件夹中将以下内容添加到 .bashrc 中:

export PATH=$PATH:/usr/local/cuda-5.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-5.0/lib64:/lib

最后,我安装了没有驱动程序的 CUDA 工具包和示例,没有驱动程序,并使用我的默认“NVIDIA 二进制 Xorg 驱动程序、内核模块和来自 nvidia-current 的 VDPAU 库”。结果

> Toolkit:Installed, Samples:Instaled

 but also 

> "Incomplete installation. this didn't install CUDA driver. driver
> version at least 304.54 required for CUDA 5.0 to work"

这可能是正确安装的,我已经在时钟示例中完成了以下结果:

me@comp:/usr/local/cuda-5.0/samples/0_Simple/clock$ ls
clock.cu  Makefile  NsightEclipse.xml  readme.txt
me@comp:/usr/local/cuda-5.0/samples/0_Simple/clock$ sudo make
[sudo] password for me: 
/usr/local/cuda-5.0/bin/nvcc -m64  -gencode arch=compute_10,code=sm_10 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -I/usr/local/cuda-5.0/include -I. -I.. -I../../common/inc -o clock.o -c clock.cu
g++ -m64 -o clock clock.o -L/usr/local/cuda-5.0/lib64 -lcudart 
mkdir -p ../../bin/linux/release
cp clock ../../bin/linux/release
me@comp:/usr/local/cuda-5.0/samples/0_Simple/clock$ ./clock
CUDA Clock sample
GPU Device 0: "GeForce GT 630" with compute capability 2.1

Total clocks = 54830
me@comp:/usr/local/cuda-5.0/samples/0_Simple/clock$ 

另一个例子:

me@comp:/usr/local/cuda-5.0/samples/0_Simple$ cd asyncAPI
me@comp:/usr/local/cuda-5.0/samples/0_Simple/asyncAPI$ ls
asyncAPI.cu  Makefile  NsightEclipse.xml  readme.txt
me@comp:/usr/local/cuda-5.0/samples/0_Simple/asyncAPI$ sudo make
/usr/local/cuda-5.0/bin/nvcc -m64  -gencode arch=compute_10,code=sm_10 -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -I/usr/local/cuda-5.0/include -I. -I.. -I../../common/inc -o asyncAPI.o -c asyncAPI.cu
g++ -m64 -o asyncAPI asyncAPI.o -L/usr/local/cuda-5.0/lib64 -lcudart 
mkdir -p ../../bin/linux/release
cp asyncAPI ../../bin/linux/release
me@comp:/usr/local/cuda-5.0/samples/0_Simple/asyncAPI$ ls
asyncAPI  asyncAPI.cu  asyncAPI.o  Makefile  NsightEclipse.xml  readme.txt
me@comp:/usr/local/cuda-5.0/samples/0_Simple/asyncAPI$ ./asyncAPI
[./asyncAPI] - Starting...
GPU Device 0: "GeForce GT 630" with compute capability 2.1

CUDA device [GeForce GT 630]
time spent executing by the GPU: 32.30
time spent by CPU in CUDA calls: 0.04
CPU executed 114066 iterations while waiting for GPU to finish
me@comp:/usr/local/cuda-5.0/samples/0_Simple/asyncAPI$ 

这里是 StackOverflow 上的相关问题。

谢谢Soroosh129!

在此处输入图片描述

答案1

安装 CUDA 工具包

下载 CUDA 工具包

首先从以下网址下载适用于 Ubuntu 11.10 的 CUDA 工具包这里。此外,还有一个可从 repos 获得的 CUDA 工具包,所以也许这会起作用,但我还没有测试它:

sudo apt-get install nvidia-cuda-toolkit

下载 *.run 文件后,将其放在您可以轻松找到的位置,例如桌面上。

先决条件

在安装 CUDA 工具包之前,请先安装 freeglut3,因为 CUDA Samples 需要它:

sudo apt-get install freeglut3 freeglut3-dev

然后建议您为这个版本的 freeglut 建立一个 sim 链接以防万一,但如果您没有任何其他版本的 freeglut,您可能没问题:

首先删除现有的 SIM 链接:

sudo rm /usr/lib/libglut.so

然后添加您自己的 SIM 链接:

sudo ln -s /usr/lib/x86_64-linux-gnu/libglut.so.3 /usr/lib/libglut.so

现在需要删除现有的gccg++sim 链接,因为它们默认已经存在:

删除现有的 SIM 链接:

sudo rm /usr/bin/cpp
sudo rm /usr/bin/gcc
sudo rm /usr/bin/g++

然后安装gcc-4.6g++-4.6您也可以选择安装 gcc 4.4,但我认为 4.6 更好):

sudo apt-get install gcc-4.6 g++-4.6

然后建立到这些编译器的 sim 链接,以便 CUDA 使用此编译器作为其主编译器:

sudo ln -s /usr/bin/cpp-4.6 /usr/bin/cpp
sudo ln -s /usr/bin/gcc-4.6 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.6 /usr/bin/g++

安装 CUDA 工具包

Ctrl + Alt + F1,这将带您进入第一个虚拟终端。输入您的用户和密码,然后导航到您找到文件的文件夹,例如,如果您将其放在桌面上,请使用:

cd ~/Desktop/

然后给文件添加执行权限*.run

sudo chmod +x cudatoolkit*.run

替换cudatoolkit*.run为下载文件的实际名称,在您的情况下为 cuda_5.0.35_linux_64_ubuntu11.10-1.run 。

然后停止lightdm服务:

sudo service lightdm stop

最后运行 CUDA 工具包:

sudo ./cudatoolkit*.run

再次cudatoolkit*.run用实际名称替换。然后按照屏幕上的说明进行操作。

笔记

如果出现问题,即使使用 gcc-4.4,您也可以使用以下命令将其删除:

sudo apt-get remove gcc-4.x g++-4.x

将 x 替换为您的版本。

最后,您可以通过将 SIM 链接恢复为原始状态来将其恢复到原来状态:

sudo rm /usr/bin/cpp
sudo rm /usr/bin/gcc
sudo rm /usr/bin/g++
sudo ln -s /usr/bin/cpp-4.7 /usr/bin/cpp
sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.7 /usr/bin/g++

相关内容