安装没有root的Cuda

时间:2016-09-07 22:13:18

标签: cuda tensorflow gpu theano

我知道我可以使用以下内容安装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?

谢谢,

3 个答案:

答案 0 :(得分:23)

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

  • 取消选择驱动程序安装(在其上按ENTER
  • 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版本。

安装

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

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

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

  4. accept EULA,say no to dr iver安装,并在您的主目录下输入<CUDA>位置以安装工具包,并为样本输入<CUDASAMPLES>

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

  6. 可选:编译样本。 cd <CUDASAMPLES> && make。这里有一些很好的例子,也是写一些CUDA scripts of yourself的非常好的起点。

  7. (如果你做了5次。):将CUDNN所需文件复制到CUDA中,并向用户授予阅读权限(不确定是否需要):

  8. 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/
    2. export PATH=$HOME/cuda9/bin:$PATH
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/cuda9/lib64/
      

      快速测试或TENSORFLOW用户

      让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#这需要一段时间
        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
      9. 希望这有帮助!
        安德烈

答案 1 :(得分:4)

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

enter code here
         public LatestStoriesAdapterViewHolder(View itemView) {
                super(itemView);
                ButterKnife.bind(this, itemView);
                if (screenWidth != 0) {
            android.view.ViewGroup.LayoutParams params = 
            itemView.getLayoutParams();
            params.width = (int) ((screenWidth * 3.4) / 4);
            itemView.setLayoutParams(params);
        }
    }

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

答案 2 :(得分:3)

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