webentwicklung-frage-antwort-db.com.de

Installiere Cuda ohne root

Ich weiß, dass ich Cuda mit folgendem installieren kann:

 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 

Frage mich nur, ob ich Cuda ohne root installieren kann?

Vielen Dank,

9
user200340

Sie können CUDA installieren und Programme kompilieren, sie können jedoch nicht ausgeführt werden, da der Zugriff auf das Gerät fehlt.

4

Vielen Dank für die Hinweise in der Frage! Ich möchte es nur mit einem Ansatz vervollständigen, der für mich funktioniert hat und auch in diesem Gist inspiriert wurde - und das hoffentlich in Situationen hilft, in denen ein gültiger Treiber installiert ist, und die Installation eines neueren CUDA unter Linux ohne Rootberechtigungen wird noch benötigt

TL; DR: Hier sind die Schritte, um CUDA9 + CUDNN7 unter Debian zu installieren und eine vorkompilierte Version von TensorFlow1.4 unter Python2.7 zu installieren, um zu testen, ob alles funktioniert. Alles ohne Rootprivilegien und via Terminal. Sollte auch für andere CUDA-, CUDNN-, TensorFlow- und Python-Versionen auf anderen Linux-Systemen funktionieren.


INSTALLATION

  1. Besuchen Sie das offizielle Web-Release von NVIDIA für CUDA (seit November 2017 ist CUDA9 nicht verfügbar): https://developer.nvidia.com/cuda-downloads .

  2. Wählen Sie unter Ihrer Linux-Distribution die Option runfile (local) aus. Beachten Sie, dass die in der Installationsanweisung enthaltene Sudo-Angabe täuschend ist, da dieses Installationsprogramm ohne Rootberechtigungen ausgeführt werden kann . Auf einem Server können Sie einfach den <LINK> der Download-Schaltfläche kopieren und an einem beliebigen Ort in Ihrem Home-Verzeichnis wget <LINK> ausführen. Die <INSTALLER>-Datei wird heruntergeladen.

  3. Führen Sie chmod +x <INSTALLER> aus, um es ausführbar zu machen, und führen Sie es ./<INSTALLER> aus.

  4. accept der EULA, say no to driver Installation, und geben Sie einen <CUDA>-Speicherort in Ihrem Home-Verzeichnis ein, um das Toolkit und einen <CUDASAMPLES> für die Beispiele zu installieren.

  5. Wird hier nicht gefragt, aber empfohlen: Laden Sie eine kompatible CUDNN-Datei von official web herunter (Sie müssen sich anmelden). In meinem Fall habe ich den mit CUDA9 kompatiblen cudnn-9.0-linux-x64-v7.tgz in den <CUDNN>-Ordner heruntergeladen. Dekomprimiere es: tar -xzvf ....

  6. Optional: Die Samples zusammenstellen. cd <CUDASAMPLES> && make. Es gibt einige sehr schöne Beispiele und einen sehr guten Ausgangspunkt, um einige CUDA-Skripte von Ihnen selbst zu schreiben .

  7. (Wenn Sie 5.)}: Kopieren Sie die erforderlichen CUDNN-Dateien in CUDA und erteilen Sie dem Benutzer die Leseberechtigung (nicht sicher, ob dies erforderlich ist): 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*

  8. Fügen Sie die Bibliothek Ihrer Umgebung hinzu. Dies geschieht in der Regel, indem Sie diese beiden Zeilen Ihrer ~/.bashrc-Datei hinzufügen (in diesem Beispiel war das <CUDA>-Verzeichnis ~/cuda9/:

export PATH=$HOME/cuda9/bin:$PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/cuda9/lib64/


FÜR SCHNELLE PRÜFUNG OR TENSORFLOW-BENUTZER

Der schnellste Weg, um einen mit CUDA9 und CUDNN7 kompatiblen TensorFlow zu erhalten (und dies sehr schnell zu testen), ist das Herunterladen einer vorkompilierten wheel-Datei und die Installation mit pip install <WHEEL>. Die meisten Versionen, die Sie benötigen, finden Sie im Repo von mind (vielen Dank). Ein minimaler Test, der bestätigt, dass CUDNN ebenfalls funktioniert, umfasst die Verwendung von 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]

In meinem Fall das Rad, das ich installiert habe benötigte Intels MKL-Bibliothek, wie hier . Dies sind die Schritte, die ich von Terminal und ohne Root-Benutzer ausgeführt habe, um die Bibliothek zu installieren und TensorFlow dazu zu bringen, sie zu finden ( 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 # das dauert eine Weile
    1. make doc # tun Sie dies optional, wenn Sie doxygen haben
  6. make test # dauert auch eine Weile
  7. make install # installs into <TARGET_DIR_IN_HOME>
  8. fügen Sie Ihrem ~/.bashrc Folgendes hinzu: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<TARGET_DIR_IN_HOME>/lib

Hoffe das hilft!
Andres

18
fr_andres

Sie können mit conda mit dem folgenden Befehl installieren. 

conda install -c anaconda cudatoolkit

Sie müssen jedoch zuvor auf das Gerät (GPU) zugreifen können. 

2
Dheeraj M Pai