您对在 Ubuntu 12.10 上安装 CUDA API 有何印象?我读过一些与 gcc 不兼容的内容(这里是ie),你必须重新安装 v.4.4,但即便如此,你的系统也会崩溃。因为我不想再次重新安装 sys(我最近做了几次:p)我想问你这个脚本在我的 x64 Ubuntu 12.10 和 amd proc 上是否安全。
我接受的答案允许使用 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
Run Code Online (Sandbox Code Playgroud)
最后我安装了没有驱动程序。只是没有驱动程序的 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"
Run Code Online (Sandbox Code Playgroud)
可能这是正确安装的,我已经在时钟示例中完成了制作,结果如下:
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$
Run Code Online (Sandbox Code Playgroud)
另一个例子:
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$
Run Code Online (Sandbox Code Playgroud)
这是 StackOverflow 上的相关问题。
谢谢 Soroosh129!

安装 CUDA 工具包:
下载 CUDA 工具包:
首先从这里下载适用于 Ubuntu 11.10 的 CUDA 工具包。还有一个可从 repos 获得的 CUDA 工具包,所以也许这会起作用,但我还没有测试它:
sudo apt-get install nvidia-cuda-toolkit
Run Code Online (Sandbox Code Playgroud)
下载 *.run 文件后,将其放在您可以轻松找到的地方,例如桌面上。
先决条件:
在安装 CUDA 工具包之前,首先安装 CUDA Samples 需要的 freeglut3:
sudo apt-get install freeglut3 freeglut3-dev
Run Code Online (Sandbox Code Playgroud)
那么建议您制作一个指向此版本 freeglut 的 sim 链接以防万一,但如果您没有任何其他版本的 freeglut,则可能没问题:
首先删除现有的sim链接:
sudo rm /usr/lib/libglut.so
Run Code Online (Sandbox Code Playgroud)
然后添加你自己的sim链接:
sudo ln -s /usr/lib/x86_64-linux-gnu/libglut.so.3 /usr/lib/libglut.so
Run Code Online (Sandbox Code Playgroud)
现在有必要删除现有gcc和g++sim 链接,因为它们默认已经存在:
删除现有的 sim 链接:
sudo rm /usr/bin/cpp
sudo rm /usr/bin/gcc
sudo rm /usr/bin/g++
Run Code Online (Sandbox Code Playgroud)
然后安装gcc-4.6和g++-4.6(您也可以选择安装 gcc 4.4,但我认为 4.6 更好):
sudo apt-get install gcc-4.6 g++-4.6
Run Code Online (Sandbox Code Playgroud)
然后创建一个到这些编译器的 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++
Run Code Online (Sandbox Code Playgroud)
安装 CUDA 工具包:
按Ctrl + Alt + F1,这将带您到第一个虚拟终端。输入您的用户名和密码,然后导航到您找到该文件的文件夹,例如,如果您已将其放置在桌面上使用:
cd ~/Desktop/
Run Code Online (Sandbox Code Playgroud)
然后给*.run文件添加执行权限:
sudo chmod +x cudatoolkit*.run
Run Code Online (Sandbox Code Playgroud)
替换cudatoolkit*.run为下载文件的实际名称,在您的情况下为 cuda_5.0.35_linux_64_ubuntu11.10-1.run 。
然后停止lightdm服务:
sudo service lightdm stop
Run Code Online (Sandbox Code Playgroud)
最后运行 CUDA 工具包:
sudo ./cudatoolkit*.run
Run Code Online (Sandbox Code Playgroud)
再次替换cudatoolkit*.run为实际名称。然后按照屏幕上的说明进行操作。
注意:
如果出现问题,即使使用 gcc-4.4,您也可以使用以下方法将其删除:
sudo apt-get remove gcc-4.x g++-4.x
Run Code Online (Sandbox Code Playgroud)
将 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++
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4717 次 |
| 最近记录: |