LoginSignup
0
1

More than 1 year has passed since last update.

Docker(WSL2)でGPUが使えるようになったのでメモ

Posted at

はじめに

この記事は2021年9月にまとめていた「細かいつまずいたことをメモしておく(9月編)をそれぞれ投稿した内容になります
解決方法が最新でない可能性もありますのでご了承ください

環境構築方法

基本的にはこの記事を確認した

若干わかりづらかったことだけをメモ

環境

  • Ubuntu 18.04LTS
  • GeForce GTX 1650

まず、IntelInsider devチャンネルを選択
bandicam 2021-09-08 00-49-22-572.jpg

Ubuntu18.04のインストール
CMDからインストールしないと失敗した

$ wsl --install -d Ubuntu-18.04

NVIDIA Drivers for CUDA on WSLは説明通りで、GeForceをインストール

Toolkitは2つ目で紹介されているものをいれる

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda-repo-wsl-ubuntu-11-4-local_11.4.1-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-4-local/7fa2af80.pub # ここの順序を変える
sudo dpkg -i cuda-repo-wsl-ubuntu-11-4-local_11.4.1-1_amd64.deb # ここの順序を変える
sudo apt-get update
sudo apt-get -y install cuda

順序を入れ替えているところがあります。

そのあとで、nvidea-smiのためのコマンドを記事通りに実行
すると立ち上がりました。

かなり前に苦戦して挫折したのでとてもうれしかったです。

bandicam 2021-09-08 00-42-54-065.jpg

ちなみにdockerでコンテナ上の認識も確認しました。

$ curl https://get.docker.com | sh

このあと、dockerインストールのためのNvidea Toolkitのシェルを作成

start.sh
#!/bin/sh

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.list

sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo usermod -aG docker $USER

そのあと、sudo dockerとコマンドが打つのが嫌なのでグループ追加をする

$ sudo gpasswd -a $USER docker
$ sudo service docker restart
# 一度Ubuntuのタブを消す
$ docker ps (表示されればOK)

# Tensorflowのイメージを起動
$  docker run --gpus all -it --rm --name tensorflow-gpu -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter

# ログにでているlocalhost:8000/token=****にアクセス
# Jupyterで適当なファイルを作る

ファイルは以下のように書いて実行する

test.ipynb
IN[1] from tensorflow.python.client import device_lib
IN[2] device_lib.list_local_devices()

bandicam 2021-09-08 01-15-55-838.jpg

無事コンテナでもGPUを使うことができました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1