如何在Ubuntu 18.04上安装CUDA?

有没有在Ubuntu 18.04上安装CUDA的教程?

Nvidia网站上17.04和16.04的说明不适用于18.04。

我收到一条消息告诉我重新启动然后重新运行安装程序。 但是,当我这样做时,我再次收到相同的消息。

我在Ubuntu 18.04上安装了CUDA 9.1,运行得很好。

但是,我应该修改默认的gcc,g ++,并使用.run文件而不是.deb文件。

  1. 安装gcc-6,g ++ – 6(CUDA需要gcc-6!)
  2. 在/ usr / bin中以root身份,rm gcc,gcc-ar,gcc-nm,gcc-ranlib g ++,然后是ln -s gcc-6 gcc; ln -s gcc-ar-6 gcc-ar; ln -s gcc-nm-6 gcc-nm; ln -s gcc-ranlib-6 gcc-ranlib; 和ln -s g ++ – 6 g ++
  3. 使用.run文件安装CUDA。 你可能不是驾驶员。 相反,安装最新的驱动程序(如果需要,从Nvidia下载NVIDIA-Linux-xxxxxxx.run)会更好。

就这样。

我试图使用.deb文件安装,但它导致包冲突,所以我改变了方式。

好好享受!!

在终端中,键入:


sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update sudo ubuntu-drivers autoinstall 

重启


 sudo apt install nvidia-cuda-toolkit gcc-6 nvcc --version 

我有一个gtx970显卡和全新安装的Ubuntu 18.04

这对我有用

启用multiverse存储库,安装nvidia驱动程序和nvidia-cuda-toolkit和gcc6(最好使用update-alternatives来轻松切换版本):

  1. 在软件和更新中,选择受限制和多元宇宙存储库
  2. 在软件和更新的“附加驱动程序”选项卡中,选择NVIDIA专有驱动程序(390用于CUDA 9)
  3. sudo apt update && sudo apt install nvidia-cuda-toolkit,或者从ubuntu软件中心安装。
  4. CUDA需要gcc6,使用update-alternatives来维护gcc7和gcc6,如下所述。

或者,您可以按照泰勒的指示 :

  1. 安装专有的NVIDIA驱动程序后,从他们的站点下载CUDA 9安装(获取Ubuntu 17.04 runfile版本)
  2. 使用sudo chmod +x使下载的文件可执行
  3. 用–override标志运行它
  4. 接受条款和条件,对使用不支持的配置进行安装表示同意,对“安装适用于Linux-x86_64的NVIDIA加速图形驱动程序384.81?”不予以接受。 确保您不同意安装新驱动程序。
  5. 请参阅上文关于使用gcc6的信息

第二种方法的缺点是它不容易升级或删除。

我怀疑上面的答案是否合格,因为它们似乎没有整个NVidia驱动子系统而离开系统。 我可以猜到为什么Cuda不会拉动司机,虽然我可能更愿意接受它。 我也不确定哪种方法可以获得最新的驱动程序,但现在这似乎是这样做的:

sudo apt-get install nvidia-driver-390

这就是我所做的。 可能会添加额外的东西,我可能没有这么做,但我还是要包括它。

首先获取ppa存储库驱动程序。 (我会说在安装之前这是必需的,除非你想冒一些死亡登录循环的风险)。

 sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update 

然后安装最新的驱动程序。 我在“附加驱动程序”选项卡中使用GUI更新程序,大部分称为“软件和更新”。 截至今天,nvidia驱动程序396可用。

得到g ++ – 6和gcc-6。 (需要)

 sudo apt install g++-6 sudo apt install gcc-6 

您可以尝试使用nvidia-cuda-toolkit,但我不熟悉库的路径。 我不想惹它。

(我可能会跳过这一个,但如果其他东西问题就去做吧)

 sudo apt install nvidia-cuda-toolkit 

我最终为Ubuntu 17.04安装了9.1运行文件。 下载它。 将文件标记为可执行文件(我右键单击桌面上的文件)。 进入终端并放入。 (需要)

 ./cuda_9.1.85_387.26_linux.run --override 

它将使用新的gcc编译器安装它。 它会问你一堆问题,并希望他们立即回答。

对不受支持的配置回答是。

没有nvidia司机。

是的 – 工具包

我使用默认安装位置

安装完毕后,请确保设置路径。 运行文件也会给你一个提醒。 此外,nvidia文档将告诉您要导出的内容。

 echo 'export PATH=/usr/local/cuda-9.1/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64:$LD_LIBRARY_PATH' >> ~/.bash.rc source ~/.bashrc 

最后你必须设置simlinks到gcc-6和g ++ – 6,否则你会收到编译你自己的代码的警告。(必填)

 sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++ 

重新启动系统。 (需要)

CUDA工具包最终发布了18.04 ubuntu支持

让我们看看我对16.04的回答如何:

  1. 下载CUDA for Ubuntu 17.10(runfile local) – Tensorflow推荐使用CUDA 9.0 – CUDA 9.2似乎无法使用tf
  2. 安装CUDA要求(参见下面的部分)
  3. 运行sudo sh cuda_7.5.18_linux.run
  4. 按照命令行提示。

下一步: 安装cuDNN

CUDA 9.2

 $ nvidia-smi Fri Jun 8 18:09:24 2018 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 390.48 Driver Version: 390.48 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce 940MX Off | 00000000:02:00.0 Off | N/A | | N/A 72C P0 N/A / N/A | 512MiB / 2004MiB | 90% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1031 G /usr/lib/xorg/Xorg 276MiB | | 0 3072 G ...-token=0F06A89A68C1B8739F1AB9EF1C5654F9 232MiB | +-----------------------------------------------------------------------------+ $ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2018 NVIDIA Corporation Built on Wed_Apr_11_23:16:29_CDT_2018 Cuda compilation tools, release 9.2, V9.2.88 

警告 :不要安装显示驱动程序! (至少它在我的Thinkpad T460p上不起作用)

CUDA 9.0 for tf

 $ nvidia-smi Sat Jun 9 08:55:30 2018 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 390.48 Driver Version: 390.48 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce 940MX Off | 00000000:02:00.0 Off | N/A | | N/A 68C P0 N/A / N/A | 595MiB / 2004MiB | 91% Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 1036 G /usr/lib/xorg/Xorg 350MiB | | 0 2531 G ...-token=FA7CF967F32AD2277A4B0EA78D1CB8D4 241MiB | +-----------------------------------------------------------------------------+ 

 $ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2017 NVIDIA Corporation Built on Fri_Sep__1_21:08:03_CDT_2017 Cuda compilation tools, release 9.0, V9.0.176 

CUDA要求

 $ sudo apt-get install gcc-6 g++-6 $ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 50 $ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 50 

validation

 $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/6/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 6.4.0-17ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-6/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-as=/usr/bin/x86_64-linux-gnu-as --with-ld=/usr/bin/x86_64-linux-gnu-ld --program-suffix=-6 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 6.4.0 20180424 (Ubuntu 6.4.0-17ubuntu1)