LoginSignup
17
26

More than 1 year has passed since last update.

CUDA on WSL 2のすすめ

Last updated at Posted at 2022-11-01

前置き

個人マシンで3090 Tiが使えるようになり、ウキウキでEfficientNetV2を回してみると…共有マシンの3090よりも遅い。
どうやらWindowsではパフォーマンスが出ないというウワサは本当だったらしい。(他の要素も検証しろ!

「Windowsが許されるのは小学生までだよねー」などとイジられながらも頑なにWindowsで粘ってきたが
そろそろ潮時だろうかと考えていると、CUDA on WSL 2がnear-nativeなパフォーマンスで動くと聞こえてきた。

結果、WSL 2+Docker環境で学習を回すと、Windowsネイティブ環境と比べて実行時間が16%短縮された。

導入方法

以下のページで丁寧に解説されています。

補足: CUDAをDockerから使う場合は「3. CUDA Support for WSL 2」の手順は不要です。

罠1

systemctlが使えないということで、引っかかるかもしれません。

WSL 2をMicrosoft Store版にアップデートした上で

/etc/wsl.conf
[boot]
systemd=true

と書き換えて、WSL 2をシャットダウン。

wsl.exe --shutdown

WSL 2を立ち上げ直せばsystemctlが使えるようになります。

罠2

WSL 2で名前解決ができないという問題が環境によって起こるようです。

私の環境でも何かのアップデートが引き金になって名前解決ができなくなりましたが
ESETがブロックしたことがログに残っていたので、ルールを設定して解消しました。

「WSL 2 名前解決」などと調べると、解決方法がいくつか出てくると思います。

17
26
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
17
26