VSCode Dev Containers で CUDA を使った話

背景

検証してた機械学習のリポジトリは、事前にあれこれインストールが必要だった。 でも環境を汚したくはなくって vscode の Dev Containers で用意した Ubuntu と CUDA を使った環境を構築した話。

docker はちゃんと設定をしないと CUDA は使えないのがポイント。

Dev Containers は凄く便利なので、使ってない人は是非。

必要なもの

  • vscode
  • Docker
  • 拡張機能 Dev Containers (ms-vscode-remote.remote-containersで検索)
  • CUDA が使える環境

nvidia-smi で動作確認

  1. Containerを作る前に、ローカルの環境で nvidia-smi が使えることを確認する。 nvidia_smi こんな感じのが出たらOK。

Containerを作る

  1. 作業ディレクトリを開いて、リモートエクスプローラーからOpen Current Folder in Containerを選択。 create_container

    Ubuntu の次に Python(latest) を選択すると Container が作られる(ちょっと時間かかる)。

  2. devcontainer.json に runArgs を追記する。

    デフォルトでは動作確認で使用した nvidia-smi が見つからず、 CUDA が使えないはず。Docker は GPU を使用する場合に docker run の引数で指定する必要がある。

    devcontainer.json で runArgs の設定を変更する。 set_run_args

  3. 左下からリモートウィンドウを開いて container を rebuild。 rebuild_devcontainer

  4. nvidia-smi で再度確認。

    • nvidia-smi

    check_build_devcontainer

参考