Archiv für August 2020

Tensorflow und CUDA 11

In dem Blog-Beitrag „TensorFlow selbst gebastelt“ wurde die Kompilierung und Installation von Tensorflow 1.15 mit CUDA-Unterstützung für CUDA-10 beschrieben. Mittlerweile ist CUDA in der Version 11 angekommen und Tensorflow gibt es in der Version 2.3.0: Ein Update ist also nötig!

Das Vorgehen ist relativ ähnlich zum vorherigen Beitrag. Die erste große Hürde ist Bazel. Zum Einsatz kam eine vorkompilierte Version (3.2.0) von github:

cd ~ ; wget https://github.com/bazelbuild/bazel/releases/download/3.2.0/bazel-3.2.0-linux-x86_64

Danach wurde tensorflow von github herruntergeladen:

  1. git clone https://github.com/tensorflow/tensorflow.git
  2. cd tensorflow/
  3. git tag
  4. git checkout tags/v2.3.0 -b v2.3.0-branch
  5. ./configure

Nun wird die gewünschte Konfiguration abgefragt:

  1. /usr/bin/python3 (Default-Wert)
  2. /usr/lib/python3.6/site-packages (Default-Wert)
  3. n (OpenCL SYCL)
  4. n (ROCm)
  5. y (CUDA)
  6. n (TensorRT)
  7. 11 (CUDA-Version)
  8. 8 (cuDNN-Version)
  9. (leere Eingabe) (ncc)
  10. /usr/,/usr/include/,/usr/local/cuda-11.0/,/usr/local/cuda-11.0/include/,/opt/cuda/include/,/opt/cuda/lib64
  11. 7.0 (compute cap)
  12. n
  13. /usr/bin/gcc (Default-Wert)
  14. -D_GLIBCXX_USE_CXX11_ABI=0 -O3 -Wformat -Wformat-security -fstack-protector -fPIC -march=native -Wno-sign-compare
  15. n

Die Konfiguration ist fertig – jetzt das Bauen mit dem Bazel von github:

../bazel-3.2.0-linux-x86_64 build –config=opt –config=numa –config=cuda –config=mkl –config=monolithic –config=v2 //tensorflow/tools/pip_package:build_pip_package

Jetzt lange Warten ….. und dann das Paket schnüren:

bazel-bin/tensorflow/tools/pip_package/build_pip_package tensorflow_pkg

Die fertige whl-Datei liegt nun unter tensorflow_pkg und kann nun installiert werden:

pip3 install -I tensorflow_pkg/tensorflow-2.3.0-cp36-cp36m-linux_x86_64.whl

pip3 list | grep tensorflow

Informationen für die NutzerInnen des Instituts für Informatik:

Auf gruenau9 und gruenau10 kann das pip-Paket wie folgt installiert werden:

pip3 install --force-reinstall /vol/pool-software/tensorflow/gruenau9_10/tensorflow-2.3.0-cp36-cp36m-linux_x86_64.whl

26. August 2020 | Veröffentlicht von Robert Sombrutzki | Kein Kommentar »
Veröffentlicht unter Allgemein

CUDA 11 unter OpenSuse15.2

Um CUDA nutzen zu können, müssen die entsprechenden Treiber für die NVIDIA-GPU und die Bibliotheken installiert sein. Unter OpenSuse 15.2 kann man die entsprechenden Repositories hinzufügen:

  • NVIDIA-Treiber: https://download.nvidia.com/opensuse/leap/15.2
  • CUDA: http://developer.download.nvidia.com/compute/cuda/repos/opensuse15/x86_64

Danach müssen folgende Pakete installiert werden:

  • cuda-11-0
  • nvidia-computeG04 (Repo: cuda)
  • nvidia-computeG05 (Repo: NVIDIA)

Um ältere Binaries zu unterstützen, die gegen ältere CUDA-Bibliotheken gelinkt sind, können noch folgende Pakete installiert werden:

  • cuda-10-0
  • cuda-10-1
  • cuda-10-2

Nach der Installation und ggf. einem Neustart kann mit dem Kommando „nvidia-smi“ alles geprüft werden.

Zur GPU-Unterstützung für Deep Neural Networks sollte NVIDIA cuDNN installiert werden. Die Bibliothek kann von der NVIDIA-Webseite in verschiedenen Versionen heruntergeladen werden:

  • cudnn-7.4.2
  • cudnn-7.6.5
  • cudnn-8.0.x

Die verschiedenen Versionen sind ggf. nötig, falls vorkompilierte Bibliotheken zum Einsatz kommen, die gegen eine bestimmte Major o. Minor-Version gelinkt sind.

Linkliste:

[1]https://developer.nvidia.com/cudnn

26. August 2020 | Veröffentlicht von Robert Sombrutzki | Kein Kommentar »
Veröffentlicht unter Allgemein