Skip to content

Installing CUDA

Filipe Mutz edited this page Aug 3, 2018 · 9 revisions

=== IMPORTANTE: O instalador da zed requer CUDA 9.1, enquanto o tensorflow requer CUDA 9.0. O tutorial assume que será instalado CUDA 9.1. Esses passos não foram testados por várias pessoas.

=== Baixar o driver adequado para a gpu da máquina (no caso da Tesla K40 é o 390.46) e siga os passos abaixo para instalar:

i) dpkg -i nvidia-diag-driver-local-repo-ubuntu1604-390.46_1.0-1_amd64.deb ii) apt-get update iii) apt-get install cuda-drivers iv) reboot

=== Instalar o Cuda 9.1

https://developer.nvidia.com/cuda-91-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1604&target_type=deblocal

sudo apt-key add /var/cuda-repo-ubuntu1604-9-1-local_9.1.85-1_amd64/7fa2af80.pub sudo dpkg -i cuda-repo-cuda-repo-ubuntu1604-9-1-local_9.1.85-1_amd64.deb sudo apt-key adv --fetch-keys sudo apt-get update sudo apt-get install cuda

=== 6.1) testar a instalacao cd /usr/local/cuda-9.1/samples/1_Utilities/deviceQuery sudo make ./deviceQuery

se tudo estiver ok irá aparecer uma tela com os dados da placa e o resultado do teste:

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.1, CUDA Runtime Version = 9.1, NumDevs = 2 Result = PASS

=== 7) Instalar o CuDNN (somente se tiver placa GPU instalada na maquina)

=== 7.1 - baixar o CuDnn 7.1.3 para Cuda 9.1

acesse https://developer.nvidia.com/cudnn , faça login e baixe os arquivos:

cuDNN v7.1.3 Runtime Library for Ubuntu16.04 (Deb) cuDNN v7.1.3 Developer Library for Ubuntu16libgsl2.04 (Deb) cuDNN v7.1.3 Code Samples and User Guide for Ubuntu16.04 (Deb)

=== 7.2 - instalar sudo dpkg -i libcudnn7_7.1.3.16-1+cuda9.1_amd64.deb sudo dpkg -i libcudnn7-dev_7.1.3.16-1+cuda9.1_amd64.deb sudo dpkg -i libcudnn7-doc_7.1.3.16-1+cuda9.1_amd64.deb

=== 7.3 – Para retirar os warnning, edite o arquivo cudnn.hpp , e atualize a função cudnnGetErrorString pelas linhas abaixo.

inline const char* cudnnGetErrorString(cudnnStatus_t status) { switch (status) { case CUDNN_STATUS_SUCCESS: return "CUDNN_STATUS_SUCCESS"; case CUDNN_STATUS_NOT_INITIALIZED: return "CUDNN_STATUS_NOT_INITIALIZED"; case CUDNN_STATUS_ALLOC_FAILED: return "CUDNN_STATUS_ALLOC_FAILED"; case CUDNN_STATUS_BAD_PARAM: return "CUDNN_STATUS_BAD_PARAM"; case CUDNN_STATUS_INTERNAL_ERROR: return "CUDNN_STATUS_INTERNAL_ERROR"; case CUDNN_STATUS_INVALID_VALUE: return "CUDNN_STATUS_INVALID_VALUE"; case CUDNN_STATUS_ARCH_MISMATCH: return "CUDNN_STATUS_ARCH_MISMATCH"; case CUDNN_STATUS_MAPPING_ERROR: return "CUDNN_STATUS_MAPPING_ERROR"; case CUDNN_STATUS_EXECUTION_FAILED: return "CUDNN_STATUS_EXECUTION_FAILED"; case CUDNN_STATUS_NOT_SUPPORTED: return "CUDNN_STATUS_NOT_SUPPORTED"; case CUDNN_STATUS_LICENSE_ERROR: return "CUDNN_STATUS_LICENSE_ERROR"; #if CUDNN_VERSION > 7 case CUDNN_STATUS_RUNTIME_PREREQUISITE_MISSING: return "CUDNN_STATUS_RUNTIME_PREREQUISITE_MISSING"; case CUDNN_STATUS_RUNTIME_FP_OVERFLOW: return "CUDNN_STATUS_RUNTIME_FP_OVERFLOW"; case CUDNN_STATUS_RUNTIME_IN_PROGRESS: return "CUDNN_STATUS_RUNTIME_IN_PROGRESS"; #endif } return "Unknown cudnn status"; }

=== 7.4 testar: cp -r /usr/src/cudnn_samples_v7/ $HOME cd $HOME/cudnn_samples_v7/mnistCUDNN make clean && make ./mnistCUDNN

=== 7.5 - instalar outras dependencias sudo apt-get install libcupti-dev echo 'export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc sudo apt-get install openjdk-8-jdk wget https://github.com/bazelbuild/bazel/releases/download/0.11.1/bazel_0.11.1-linux-x86_64.deb sudo dpkg -i bazel_0.11.1-linux-x86_64.deb

Clone this wiki locally