如何在Ubuntu中加载不同版本的Cuda?

时间:2019-02-13 20:41:24

标签: tensorflow cuda

我正在尝试在公司的计算设备上使用cuda 9.0。登录后,我使用命令nvcc --version来标识当前版本的cuda正在加载。命令返回

  

nvcc:NVIDIA(R)Cuda编译器驱动程序

     

版权所有(c)2005-2016 NVIDIA Corporation

     

基于Tue_Jan_10_13:22:03_CST_2017

     

Cuda编译工具,版本8.0,V8.0.61

然后,我使用命令module av cuda来识别cuda的哪个版本是avalilabel。命令返回

  

----------------------------- /alt/applic/spack/modules/linux->ubuntu16.04-x86_64- ----------------------------

     

cuda / 6.5.14 / gcc-7.2.0-ijjnj2a

     

cuda / 9.0.176 / gcc-7.2.0-lxmyjxx

     

cuda / 7.5.18 / gcc-7.2.0-abx65q6

     

cuda / 9.2.88 / gcc-7.2.0-cqfnheu

     

utility.c(2245):错误:50:无法打开文件>'/ alt / applic / spack / modules / linux-ubuntu16.04-x86_64 / cuda / 8.0.61'用于>``读取''

     

-------------------------------------- / alt / applic / modules / modulefiles> ---------------------------------------   cuda / 4.0

因此,它表明cuda / 9.0可用(已接线,它有关于cuda / 8.0的错误...)。然后我尝试使用命令

加载此cuda / 9.0
module load modules.new

module load cuda/9.0.176/gcc-7.2.0-lxmyjxx

然后我再次输入命令nvcc --version,但它仍然返回cuda/8.0,但没有返回cuda/9.0 ...

如何加载cuda / 9.0?另外,如何找到该cuda / 9.0的路径?我尝试使用locate cuda,但它只返回cuda / 8.0的信息,没有其他内容。

谢谢!


更新:

我找到了cuda / 9.0文件的目录,该目录位于有线位置下 /alt/applic/spack/modules/linux-ubuntu16.04-x86_64/cuda/9.0.176

因此,我从/usr/local/cuda-8.0中删除了cuda / 8.0的旧目录$PATH,并将新目录如上所述添加到$PATH中。现在,我再次输入nvcc --version,我得到了错误消息msg -bash: nvcc: command not found

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

好吧,有两个选择:

1。使用PPA(软件包存储库)

您可以使用与您的发行版默认版本不同的CUDA版本添加PPA,例如this one

2。手动

nVIDIA为所有CUDA版本的最新修订版维护download files。您可以选择版本,然后下载与您拥有的Ubuntu版本最接近(但不是更新)的Ubuntu版本的存档。您将得到一个可执行文件文件,该文件既是安装程序,又是自解压存档。

仅手动安装CUDA本身不会造成任何干扰-它仅在/usr/local/cuda-X.Y下安装。至多符号链接/usr/local/cuda被转移,您必须将其改回。 CUDA示例也是如此。但是,安装nVIDIA内核驱动程序是另一回事,因为这会干扰您的内核。通常这是相当安全的,但请务必小心,并尝试将备用(也许是较旧的)内核用作引导加载程序选项,以防万一。