免root安装Cuda

Install Cuda without root

我知道我可以使用以下命令安装 Cuda:

wget http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.28_linux.run
chmod +x cuda_7.0.28_linux.run
./cuda_7.0.28_linux.run -extract=`pwd`/nvidia_installers
cd nvidia_installers
sudo ./NVIDIA-Linux-x86_64-346.46.run 
sudo modprobe nvidia
sudo ./cuda-linux64-rel-7.0.28-19326674.run 

只是想知道我是否可以在没有 root 的情况下安装 Cuda?

谢谢,

您可以安装 CUDA 和编译程序,但由于缺少设备访问权限,您将无法 运行 它们。

更新 10.1 的安装 UI 已更改。以下作品:

  • Deselect驱动安装(按ENTER就可以了)
  • options -> root install path 更改为非 sudo 目录。
  • 在标有 + 的行上按 A 以访问高级选项。去selectcreate symbolic link,改toolkit install path.
  • 现在无需 root 权限即可安装

非常感谢问题中的提示!我只想用一种对我有用的方法来完成它,它也受到了 this gist 的启发,希望在安装了有效驱动程序并在 [=164 上安装更新的 CUDA 的情况下对 有所帮助=] 仍然需要没有 root 权限

TL;DR:下面是在Debian上安装CUDA9+CUDNN7,在Python2.7上安装预编译版TensorFlow1.4的步骤测试一切正常。一切都没有 root 权限和通过终端。也应该适用于其他 Linux 系统上的其他 CUDA、CUDNN、TensorFlow 和 Python 版本。


安装

  1. 访问 NVIDIA 的 CUDA 官方发布网站(至于 2017 年 11 月,CUDA9 已发布):https://developer.nvidia.com/cuda-downloads.

  2. 在您的 Linux 发行版下,select runfile (local) 选项。 请注意,安装说明中的 sudo 指示是骗人的,因为可以 运行 这个安装程序没有 root 权限 。在服务器上,一种简单的方法是复制 Download 按钮的 <LINK>,然后在主目录的任何位置复制 运行 wget <LINK>。它将下载 <INSTALLER> 文件。

  3. 运行 chmod +x <INSTALLER>使其可执行,执行./<INSTALLER>.

  4. accept EULA,say no to driver 安装,并在您的主目录下输入一个 <CUDA> 位置来安装工具包和一个 <CUDASAMPLES>对于样品。

  5. 此处未询问但推荐:从official web下载兼容的CUDNN文件(您需要登录)。就我而言,我将与 CUDA9 兼容的 cudnn-9.0-linux-x64-v7.tgz 下载到 <CUDNN> 文件夹中。解压:tar -xzvf ....

  6. 可选:编译样本。 cd <CUDASAMPLES> && make。那里有一些非常好的示例,并且是编写一些 CUDA scripts of yourself.

  7. 的一个很好的起点
  8. (如果你做了5.):将需要的文件从<CUDNN>复制到<CUDA>,并授予阅读权限给用户(不确定是否需要):

cp -P <CUDNN>/cuda/include/cudnn.h <CUDA>/include/
cp -P <CUDNN>/cuda/lib64/libcudnn* <CUDA>/lib64
chmod a+r <CUDA>/include/cudnn.h <CUDA>/lib64/libcudnn*
  1. 将库添加到您的环境中。这通常是将以下两行添加到您的 ~/.bashrc 文件中(在此示例中,<CUDA> 目录是 ~/cuda9/:
export PATH=<CUDA>/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<CUDA>/lib64/

针对 QUICK 测试或 TENSORFLOW 用户

获得与 CUDA9 和 CUDNN7 兼容的 TensorFlow 的最快方法(也是一种非常快速的测试方法)是下载预编译的 wheel 文件并使用 pip install <WHEEL> 安装它。您需要的大部分版本都可以在 mind's repo (thanks a lot guys). A minimal test that confirms that CUDNN is also working involves the use of tf.nn.conv2d:

中找到
import tensorflow as tf
x = tf.nn.conv2d(tf.ones([1,1,10,1]), tf.ones([1,5,1,1]), strides=[1, 1, 1, 1], padding='SAME')
with tf.Session() as sess:
    sess.run(x) # this should output a tensor of shape (1,1,10,1) with [3,4,5,5,5,5,5,5,4,3]

就我而言,the wheel I installed required Intel's MKL library, as explained here. Again, from terminal and without root users, this are the steps I followed to install the library and make TensorFlow find it (reference):

  1. git clone https://github.com/01org/mkl-dnn.git
  2. cd mkl-dnn/scripts && ./prepare_mkl.sh && cd ..
  3. mkdir -p build && cd build
  4. cmake -D CMAKE_INSTALL_PREFIX:PATH=<TARGET_DIR_IN_HOME> ..
  5. make # 这需要一段时间
    1. make doc # 如果你有 doxygen
    2. ,可以选择执行此操作
  6. make test # 也需要一段时间
  7. make install # installs into <TARGET_DIR_IN_HOME>
  8. 将以下内容添加到您的 ~/.bashrcexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<TARGET_DIR_IN_HOME>/lib

希望对您有所帮助!
安德烈斯

您可以通过以下命令使用 conda 安装。

conda install -c anaconda cudatoolkit

但您需要事先访问设备 (GPU)。

编辑:如果您在 anaconda 存储库中发现错误,请将存储库更改为经常更新的 conda-forge

conda install -c conda-forge cudatoolkit