В этой короткой статье описывается процесс установки NVIDIA CUDA и cuDNN на экземпляр Google Cloud Platform (GCP) с включенным графическим процессором Nvidia Tesla K80.

Общее время, необходимое для установки, не должно превышать 15 минут, в зависимости от скорости вашей сети.

Если вы не настроили экземпляр GCP с графическим процессором, вы также можете посетить эту статью о том, как я настраиваю экземпляр Google Cloud Compute с графическим процессором.

Предварительное условие

Прежде чем вы начнете, предположим, что у вас есть следующее:

  • Экземпляр на Google Cloud Platform
  • Экземпляр GCP работает под управлением Ubuntu 16.04.
  • В экземпляре GCP должна быть включена Nvidia K80 или P100.
  • Установлены локально инструменты gcloud cli

Регистрация NVIDIA

Чтобы получить файлы, которые вам понадобятся позже для процесса установки, перейдите на https://developer.nvidia.com/cudnn и зарегистрируйте учетную запись.

Как только ваша учетная запись будет создана и подтверждена, перейдите к загрузке библиотеки cuDNN.

Скачать cuDNN

Загрузите библиотеку cuDNN со страницы https://developer.nvidia.com/rdp/cudnn-download.

Ищите cuDNN для CUDA 8.0, поскольку мы будем устанавливать CUDA 8.0 позже.

В моем случае я скачал библиотеку cuDNN v7.1.3 для Linux.

Этот файл нам понадобится позже, поэтому запомните, где вы его сохранили локально.

Установка CUDA на GCP

Далее мы приступаем к установке CUDA 8.0 на GCP.

Начните с входа в свой вычислительный экземпляр, используйте для этого gcloud cli. Измените соответственно your-project-name, your-zone, your-instance-name.

$ gcloud compute --project 'your-project-name' ssh --zone 'your-zone' 'your-instance-name'

Теперь начните с загрузки репозитория с Nvidia.

$ curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_8.0.61-1_amd64.deb

По завершении загрузки установите с помощью dpkg и обновите репозиторий. Затем убираем за собой.

$ sudo dpkg -i cuda-repo-ubuntu1604_8.0.61-1_amd64.deb
$ sudo apt-get update
$ rm cuda-repo-ubuntu1604_8.0.61-1_amd64.deb

Итак, мы готовы приступить к установке CUDA.

$ sudo apt-get install cuda-8-0

Следующие команды должны установить переменные среды и добавить их в файл сценария выполнения команды (rc). Затем не забудьте указать источник rc-файла, чтобы мы могли использовать его сразу.

$ echo 'export CUDA_HOME=/usr/local/cuda' >> ~/.bashrc
$ echo 'export PATH=$PATH:$CUDA_HOME/bin' >> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME/lib64' >> ~/.bashrc
$ source ~/.bashrc

Убедитесь, что все работает нормально.

$ nvcc --version
$ nvidia-smi

Из результатов nvidia-smi видно, что используется графический процессор Nvidia K80 с 12 ГБ памяти. Большой!

Установка cuDNN

Теперь мы приступим к установке cuDNN. Для этого нам нужно запомнить, откуда мы ранее скачали файл библиотеки cuDNN.

Мы будем использовать команду scp glcoud cli tools для загрузки файлов в экземпляр GCP. Для простоты поместим файл в папку / tmp экземпляра GCP. Не забудьте изменить folder-to-your-file-locally и instance-name соответственно.

$ gcloud compute scp /folder-to-your-file-locally/cudnn-8.0-linux-x64-v7.1.tgz instance-name:/tmp

Как только это будет загружено в экземпляр GCP, распакуйте и переместите файлы как root.

$ cd /tmp
$ tar xzvf cudnn-8.0-linux-x64-v6.0.tgz
$ sudo cp cuda/lib64/* /usr/local/cuda/lib64/
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include/

Наконец, убираем за собой.

$ rm -rf /tmp/cuda
$ rm /tmp/cudnn-8.0-linux-x64-v5.1.tgz

Ресурсы

  1. Https://cloud.google.com/sdk/gcloud/reference/compute/scp