安装没有root的Cuda

问题描述 投票:10回答:3

我知道我可以用以下方法安装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 tensorflow gpu theano
3个回答
3
投票

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


24
投票

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

  • 取消选择驱动程序安装(按ENTERon)
  • options -> root install path更改为非sudo目录。
  • 在标有A的行上按+以访问高级选项。取消选择create symbolic link,并更改toolkit install path
  • 现在安装应该没有root权限

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

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


INSTALLATION

  1. 转到NVIDIA的CUDA官方发布网站(截至2017年11月,CUDA9已经发布):https://developer.nvidia.com/cuda-downloads
  2. 在Linux发行版下,选择runfile (local)option。请注意,安装说明中出现的sudo指示是欺骗性的,因为可以在没有root权限的情况下运行此安装程序。在服务器上,一种简单的方法是复制<LINK>按钮的Download,并在主目录的任何位置运行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. (如果你做了5.):将CUDNN所需文件复制到CUDA中,并向用户授予读取权限(不确定是否需要):
cp -P <CUDNN>/cuda/include/cudnn.h <CUDA>/include/
cp -P cudnn9/cuda/lib64/libcudnn* cuda9/lib64
chmod a+r cuda9/include/cudnn.h cuda9/lib64/libcudnn*
  1. 将库添加到您的环境中。这通常是将以下两行添加到~/.bashrc文件中完成的(在此示例中,<CUDA>目录为~/cuda9/
export PATH=$HOME/cuda9/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/cuda9/lib64/

FOR QUICK TESTING OR TENSORFLOW USERS

让TensorFlow与CUDA9和CUDNN7兼容的最快捷方式(以及一种非常快速的测试方法)是下载预编译的wheel文件并使用pip install <WHEEL>安装它。您需要的大多数版本都可以在mind's repo中找到(非常感谢)。确认CUDNN也在工作的最小测试涉及使用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需要英特尔的MKL库,正如here所解释的那样。同样,从终端和没有root用户,这是我安装库并让TensorFlow找到它的步骤(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#这需要一段时间 make doc#如果你有doxygen,可以选择这个
  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

希望这可以帮助! 安德烈斯


5
投票

您可以使用conda使用以下命令进行安装。

conda install -c anaconda cudatoolkit

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

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

conda install -c conda-forge cudatoolkit
© www.soinside.com 2019 - 2024. All rights reserved.