NOTES

WSL上のUbuntuでNvidia製のGPU環境を構築する方法【Windows・機械学習】

本記事では、WSL上にインストールしたUbuntu上でNVIDIA製のGPUを機械学習などで使用するための環境構築方法を解説します。

目次

GPUドライバーのインストール

NVIDIA製のGPUを使用するためには、NVIDIA製のGPUをサポートしたGPUドライバをインストールします。GPUドライバはコンピュータのOSとGPU(グラフィックボード)の間に入って、通訳の役割を果たすソフトウェアのことです。GPUは画像処理に特化した非常に強力なハードウェアですが、OSやアプリケーションは、そのままではGPUをどう動かせばよいか正確な命令を出すことができません。そこで、ドライバーという橋渡し役が必要になります。

https://www.nvidia.com/en-us/drivers

GPUの種類を選択して【Find】をクリックすると、インストールできるGPUドライバー一覧が表示されます。PCにどのGPUが組み込まれているかはタスクマネージャーで確認できます。

「Ctrl」+「Shift」+「Esc」を押すと、タスクマネージャーが表示されます。タスクマネージャーを開き、パフォーマンスを選択すると、右上にGPUの名前が表示されます。

この場合はNVIDIA T1000なので、ホームページの検索枠にNVIDIA T1000と入力します。WSLで使用する場合にはWindows版を選択し、Windowsにインストールします。WSL上のUbuntuではインストールしないのでご注意ください。

インストール可能なドライバー一覧が表示されるので、インストールするドライバー(通常は最新版)のところに記載されている【View】をクリックします。

ダウンロードページが表示されるので、ドライバーをダウンロードします。

ダウンロードした実行体を実行して、画面に表示された手順にそって次へ進んでいけば、インストールできます。

CUDA Toolkitのインストール

NVIDIA製のGPU(グラフィックボード)を、画像描画以外の膨大な計算処理に利用するためには、CUDA Toolkitが必要になります。通常、GPUは画面をきれいに映すためのパーツですが、CUDAを使うことで高性能な計算機として、AIの学習や複雑なシミュレーションなどに活用できるようになります。

まず、期限切れになった、または、古くなったNVIDIAのセキュリティ用公開鍵(デジタル著名)を削除します。Linuxのパッケージ管理システムは、ダウンロードするソフトが本当にNVIDIAが作ったものなのか、途中で改ざんされていないかを確認するために、公開鍵を使用します。2022年ごろ、NVIDIAはリポジトリ著名用の鍵を新しいものに更新しました。古い鍵が残ったままだと、新しいパッケージをダウンロードしようとした際に、「鍵が無効です」といったエラー(GPGエラー)が発生してしまいます。WSL上のUbuntuでは次のコマンドで古い鍵を削除できます。

sudo apt-key del 7fa2af80

次に、CUDA Toolkitのインストールを行います。公式ページからダウンロードできます。

https://developer.nvidia.com/cuda-downloads

アーキテクチャを選びます。OSはLinuxです。WSL上のUbuntuにインストールするので「WSL-Ubuntu」を選択しています。

そうすると、インストールするために必要なコマンドが表示されます。以下はコマンドの例です。コマンドは変わるので表示されたコマンドを使いましょう。

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-13-1

これで、CUDA Toolkitのインストールは完了です。次のコマンドでインストールできているかを確認できます。

nvcc --version

バージョン情報が表示されたら正しくインストールされています。

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
...

WSLからGPUが認識されているかを確認

nvidia-smiコマンドを使うことで、WSLからGPUが認識できているかを確認できます。

nvidia-smi -L

GPU 0: NVIDIA T1000 (UUID: GPU-xxxxxxxx-xxxx-...)

このように、自分の使っているグラフィックボードの名前が表示されれば、WSLからGPUが正しく認識されています。より詳しい情報が知りたい場合には、オプションを入れずにそのまま打ちます。

nvidia-smi

「コマンドが見つかりません」となったら?: nvidia-smi が動かない場合は、Windows側に最新のNVIDIAドライバーが入っていないか、WSLのバージョンが古い可能性があります。

CUDA Versionとの違い: nvidia-smi で表示されるCUDA Versionは「そのドライバーが対応している最大バージョン」であり、実際にインストールしたToolkitのバージョン(nvcc -Vで出るもの)とは異なる場合があります。

まとめ

機械学習などでGPUを使用するための準備として、WSL上のUbuntuでNVIDIA製GPUの環境構築を行う方法を解説しました。GPU環境を整えるには次の2つのインストールが必要でした。

  • GPUドライバー ・・・GPUとOSの間の通訳役
  • CUDA Toolkit ・・・GPUを画面表示以外の汎用装置として使うためのツールキット

これで、機械学習などでGPUをWSL上でのUbuntuで使用するための環境が整いました。

-NOTES
-