-
Notifications
You must be signed in to change notification settings - Fork 29
Installing CUDA
=== 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
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