Tenho a seguinte configuração:
- SUSE Linux Enterprise Server 12 SP3 (x86_64)
- Kit de ferramentas CUDA: CUDA 9.2 (9.2.148 Atualização 1)
- Versão do driver CUDA: 396.37
De acordo com a NVIDIA, certo ( https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#major-components ).
Configurei um novo ambiente com o Anaconda e instalei o tensorflow-gpu nele:
conda create -n keras python=3.6.8 anaconda
conda install -c anaconda tensorflow-gpu
Mas se eu quiser verificar a instalação via console python :
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
Estou tendo o erro a seguir:
2019-04-17 15:23:45.753926: I tensorflow/core/platform/cpu_feature_guard.cc:141] Sua CPU suporta instruções que este binário TensorFlow não foi compilado para uso: SSE4.1 SSE4.2 AVX AVX2 FMA
17/04/2019 15:23:45.793109: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] Frequência da CPU: 2600180000 Hz
17/04/2019 15:23:45.798218: I tensorflow/compiler/xla/service/service.cc:150] Serviço XLA 0x561f42601240 executando cálculos na plataforma Host. Dispositivos:
17/04/2019 15:23:45.798258: I tensorflow/compiler/xla/service/service.cc:158] Dispositivo StreamExecutor (0): ,
17/04/2019 15:23:45.981727: I tensorflow/compiler/xla/service/service.cc:150] Serviço XLA 0x561f426ad9b0 executando cálculos na plataforma CUDA. Dispositivos:
17/04/2019 15:23:45.981777: I tensorflow/compiler/xla/service/service.cc:158] Dispositivo StreamExecutor (0): Tesla K40c, Compute Capability 3.5
17/04/2019 15:23:45.982175: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Dispositivo 0 encontrado com propriedades:
nome: Tesla K40c maior: 3 menor: 5 memoryClockRate(GHz): 0,745 pciBusID: 0000:06:00.0 totalMemory: 11,17GiB freeMemory: 11,09GiB
17/04/2019 15:23:45.982206: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adicionando dispositivos gpu visíveis: 0
Traceback (última chamada mais recente): Arquivo "", linha 1, em Arquivo "/home/fuchs/.conda/envs/keras/lib/python3.6/site-packages/tensorflow/python/client/session.py" , linha 1551, em init super(Sessão, self). init (destino, gráfico, config=config) Arquivo "/home/fuchs/.conda/envs/keras/lib/python3.6/site-packages/tensorflow/python/client/session.py", linha 676, em init self._session = tf_session.TF_NewSessionRef(self._graph._c_graph, opts) tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() falhou. Status: a versão do driver CUDA é insuficiente para a versão de tempo de execução CUDA
Eu tenho procurado soluções de outras pessoas com esse problema, mas para a maioria delas foi porque o CUDA Toolkit e a versão do driver não correspondiam. O que não é o meu caso.
Eu realmente aprecio a ajuda.
Desculpe, eu mesmo já encontrei a solução. Meu erro foi criar o ambiente Anaconda com uma versão python >3.5. Nessas circunstâncias, o tensorflow-gpu=1.13 será instalado, se você executar o seguinte comando:
No entanto, se você criar um ambiente com python=3.5, o tensorflow-gpu=1.10 será instalado, o que funciona para esta versão CUDA.