1. nvidia-cuda-toolkitのインストール
sudo apt install nvidia-cuda-toolkit
libcuda v10.1がダウンロードされた
$ ls /usr/lib/x86_64-linux-gnu/libcuda* /usr/lib/x86_64-linux-gnu/libcudart.so.10.1
環境変数に以下を追加
export PATH=/usr/lib/x86_64-linux-gnu${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
2. tensorflow-gpuのインストール
libcuda v10.1に対応するtensorflow-gpuをインストールする
バージョンは以下を参照。2.3.0を選択した。
stackoverflow.com
pip uninstall tensorflow pip install tensorflow==2.3.0
3. libcudnnのインストール
以下を参考に。
devmartin.com
CUDA10.1に対応するcuDNNの7系として v7.6.5 を選択。
RuntimeとDevの2つの.debファイルをダウンロードしてdpkg -i でインストールした。
これでGPUが認識された
$ python -c "import tensorflow as tf; print('Num GPUs Available: ', len(tf.config.experimental.list_physical_devices('GPU')))" 2021-12-30 10:55:41.874428: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1 2021-12-30 10:55:42.594539: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcuda.so.1 2021-12-30 10:55:42.616801: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:982] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-12-30 10:55:42.617204: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1716] Found device 0 with properties: pciBusID: 0000:01:00.0 name: NVIDIA GeForce GTX TITAN X computeCapability: 5.2 coreClock: 1.076GHz coreCount: 24 deviceMemorySize: 11.92GiB deviceMemoryBandwidth: 313.37GiB/s 2021-12-30 10:55:42.617250: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudart.so.10.1 2021-12-30 10:55:42.618788: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcublas.so.10 2021-12-30 10:55:42.620496: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcufft.so.10 2021-12-30 10:55:42.621877: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcurand.so.10 2021-12-30 10:55:42.623091: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcusolver.so.10 2021-12-30 10:55:42.623734: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcusparse.so.10 2021-12-30 10:55:42.626019: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library libcudnn.so.7 2021-12-30 10:55:42.626163: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:982] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-12-30 10:55:42.626753: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:982] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2021-12-30 10:55:42.627117: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1858] Adding visible gpu devices: 0 Num GPUs Available: 1