Добавяне на Tensorflow-GPU модула към инсталацията на Intel Python 3 под CentOS 7 и 8Съдържание:
1. Предварителна информацияВ документа "Добавяне на модули към инсталацията на Intel Python 3 под CentOS 7 и 8" е описано как да бъде инсталиран Tensorflow. Инсталиран по този начин, той не предоставя GPU съвместимост, която е нужна при използване на библиотеки за "deep neural networks". По-долу е обяснено как да се добави GPU съвместимост към инсталацията на Tensorflow.
2. Инсталиране на CUDAВНИМАНИЕ! В CentOS 8 се поддържат само версиите 10.1 и 10.2. За да може да покриете разнообразните изисквания на клиентския софтуер откъм версии на CUDA библиотеките, е нужно да имате инсталирани всички на CUDA, които поддържат cuDNN. За да инсталирате в системата CUDA библиотеките, трябва да добавите към конфигурацуията на хранилища, използвани от
При инсталиране на пакетите CUDA, драйвера за GPU ще бъде инсталиран автиматично!
3. Инсталиране на cuDNNВНИМАНИЕ! Вече не се предлага cuDNN библиотека за CUDA 9.1. Не инсталирайте старти версии на cuDNN! За да може да използвате Tensorflow-GPU, не е достатъчно да имате CUDA библиотеките. Нужно е да имате инсталирани допълнително библиотеките cuDNN, като трябва да ги инсталирате за всяка една от инсталираните версии на CUDA. Може да изтеглите версиите на библиотеката cuDNN за всяка от инсталираните версии на CUDA, указани по-горе, от https://developer.nvidia.com/cudnn. Там не изтегляйте RPM пакетите с cuDNN библиотеките! Вместо това изтеглете стандартните tar.gz архиви (следвайте връзката "cuDNN Library for Linux"). След като изтеглите всички нужни архиви с библиотеката, ще имате локално файловете (ако по времето, по което изтегляте файловете, версията на библиотеката е 7.6.5.32):
За да инсталирате тези библиотеки в системата, използвайте следната процедура:
За да могат приложенията да намират библиотеките на cuDNN, трябва да ги включите в каталога с библиотеки на системата, като изпълните: $ sudo ldconfig Проверете дали това включване е успешно: $ ldconfig -p | grep cudnn Ако библиотеките са успешно инсталирани и включени в каталога, ще получите следния списък:
4. Инсталиране на Tensorflow-GPUЗа да може да инсталирате Tensorflow-GPU, трябва да имате вече инсталиран Tensorflow, по начина, описан в документа "Добавяне на модули към инсталацията на Intel Python 3 под CentOS 7 и 8". Инсталирането на Tensorflow-GPU се извършва по следния начин: $ sudo /opt/intel/intelpython3/bin/python3 /opt/intel/intelpython3/bin/pip install tensorflow-gpu Отбележете, че след инсталацията няма да имате зареждаем модул tensorflow_gpu. Причината е, че Tensorflow-GPU е добавка към Tensorflow, а не самостоятелен модул (включва се при нужда и това включване е автоматично). Той е помощтно парче код, което помага на Tensorflow да осъществява комуникацията с cuDNN и CUDA.
5. Тест дали Tensorflow разпознава и зарежда библиотеката cuDNNЗа да може да инсталирате Tensorflow-GPU, трябва да имате вече инсталиран Tensorflow, по начина, описан в документа "Добавяне на модули към инсталацията на Intel Python 3 под CentOS 7 и 8". След това, инсталирането на Tensorflow-GPU протича така: $ /opt/intel/intelpython3/bin/jupyter-console In [1]: import ctypes In [2]: t=ctypes.cdll.LoadLibrary("libcudnn.so") In [3]: print(t._name) При успешно разпознаване и зареждане на библиотеката на cuDNN, след изпълнението на третия ред, ще бъде изведен следния резултат: libcudnn.so
6. Тест за изпълнението на задачи върху GPU устройството, през библиотеките cuDNN и CUDAИзтеглете тестовия скрипт, който извършва умножение на матрици от висок ранг, локално, по следния начин: $ wget https://raw.githubusercontent.com/yaroslavvb/stuff/master/matmul_benchmark.py ВНИМАНИЕ! Не изпълнявайте този тестови скрипт, ако GPU устройството ви има памет по-малка от 4GB. и го изпълнете, използвайки python3 от пакета Intel Python 3: $ /opt/intel/intelpython3/bin/python3 matmul_benchmark.py Най-важната информация (освен числения резултат, разбира се), която трябва да видите при изпълнението и която е индикатор за добре изпълнената инсталация на библитеките, е тази, която се отнася до зареждането на библиотеките на cuDNN и CUDA: 2019-09-16 18:33:47.608676: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudart.so.10.0 2019-09-16 18:33:47.792306: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcublas.so.10.0 2019-09-16 18:33:47.891584: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcufft.so.10.0 2019-09-16 18:33:47.956737: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcurand.so.10.0 2019-09-16 18:33:48.173936: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcusolver.so.10.0 2019-09-16 18:33:48.304803: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcusparse.so.10.0 2019-09-16 18:33:48.311791: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudnn.so.7 2019-09-16 18:33:48.327999: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudart.so.10.0 |
Последна актуализация: 19 ноември 2019
2019 УНИТе, Веселин Колев