当前位置: 首页 > Linux

linux安装cuda没有root权限

时间:2023-04-06 05:36:59 Linux

我们可以在没有root权限的linux系统上安装CUDA吗?答案是可以的,但是“丑话先出”,显卡驱动需要比较新。那么为什么我们会有这种奇怪的需求呢?一种可能的情况是服务器不能轻易改变CUDA版本,因为不同的人使用不同的版本。但是作为普通用户,我们更希望使用新版本的CUDA(而且更新驱动一般不会影响其他用户,除非占用显卡)。那么该怎么办?安装CUDA以最新版本CUDA10.2为例。首先,我们在NVIDIA官网找到CUDA下载链接,选择runfile:下载的文件简称为cuda.run。下载完成后,运行安装程序。有两种方法可以运行此文件。您可以选择其中之一。#方法一:修改文件属性,使其可以运行chmod+xcuda.run./cuda.run#方法二:直接用shshcuda.run运行安装工具后,先接受EULA:如果是旧的版本(比如9.x)对于CUDA来说,读取EULA的界面会很长。这里的一个小技巧是,不要按住回车键,而是按住空格键跳过。这里我们不安装驱动,因为驱动必须是root才能安装。选择后,安装必须失败。我们可以把光标移到这些不需要的项目上,然后回车取消勾选:除了Toolkit,下面这些项目其实是不需要的。可以根据情况选择安装(比如可以安装Samples,然后测试CUDA和cuDNN是否安装成功)。这里我选择只安装Toolkit。我们接下来的任务是修改安装路径到我们自己家。默认情况下,CUDA会安装在:/usr/local/cuda-10.2/库会安装在:/usr/local/cuda-10.2/lib64/所以我们需要修改这两个。打开选项。如果你不安装Driver和Samples,那么这两个不用担心。否则,你还需要修改它们的安装位置。打开ToolkitOptions,然后ChangeToolkitInstallPath,修改为/home//cuda-10.2/:然后Done,回到上一级,然后选择Libraryinstallpath:,修改安装目录为:/home/<用户名>/cuda-10.2/lib64/.如果是9.x版本的CUDA,安装好CUDA本体的安装位置后,库的位置会自动变为本体安装目录下的lib64。然后就可以开始安装了。安装完成后需要配置.bashrc,在下面添加:exportPATH=/home//cuda-10.2/bin:$PATHexportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home//cuda-10.2/lib64/保存运行source.bashrc,可以使用nvcc-V试试是否安装成功。安装cuDNN我们也可以考虑安装cuDNN。官网下载需要注册登录:https://developer.nvidia.com/cudnn下载完.tar.gz后可以使用tar-zxvf解压,然后将里面的文件复制到CUDA安装下的指定位置目录。.具体来说:cp/cuda/include/cudnn.h/include/cp/cuda/lib64/libcudnn*/lib64chmoda+r/include/cudnn.h/lib64/libcudnn*此处安装了CUDA10.2和cuDNN。但是有比较大的可能是你安装的CUDA版本太新,服务器上的显卡驱动太旧(比如CUDA9.0安装包自带的驱动),那还是没办法正常使用它(比如使用PyTorch的GPU版本)。要想真正使用,还是需要说服管理员更新服务器的驱动。不过大家可以放心,更新驱动后,老版本的CUDA还是可以用的。(本文方法借鉴自:InstallCudawithoutroot-Thinbug