Wizard Notes

Python, JavaScript を使った音楽信号分析の技術録、作曲活動に関する雑記

Windows11にWSL2(Linux)をインストールしてCUDA,Python開発環境を構築

はじめに

最近のWindows 11環境では、Pythonのインストールだけで基礎的な数値計算が可能です。しかし、GPUによる高速な数値計算機械学習のためには、CUDAを利用する必要があります。 特に、GPUで鏡像法を実行して室内インパルス応答を求めるgpuRIRのようなライブラリを使う場合、Windows環境でCUDAの設定が難しい場合があります。

今回、私のWindows 11環境では直接gpuRIRを動かすことができなかったため、WSL2(Windows Subsystem for Linux)を利用して、Linux環境上でCUDAを有効にし、Pythonの開発環境を構築することにしました。この記事では、その構築手順を詳しく説明します。

構築環境

以下のNVIDIAGPU搭載 Windows11のPCを利用しています。

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Thu_Nov_18_09:45:30_PST_2021
Cuda compilation tools, release 11.5, V11.5.119

インストールのマニュアル

以降の環境構築は、以下のドキュメントに基づいて実施しました。

learn.microsoft.com

docs.nvidia.com

1. NVIDIAドライバーのインストール

Windows用のNVIDIA GPUドライバーをインストールします。WSL2でCUDAを使用するためには、CUDAをサポートするNVIDIAドライバー(GeForce Game ReadyドライバーまたはNVIDIA Studioドライバー)が必要です。

www.nvidia.com

適切なドライバーを選択してインストールしたら、システムを再起動します。

ここで、ドライバのダウンロード画面にたどり着くと、Game ReadyとStudio、2種類のドライバが用意されています。

CUDA on WSL User Guide によると、Game Readyを選択することになっています。

2. WSLのインストール

WSL2は、Windows上でLinux環境を実行するためのサブシステムです。Windows 11では、以下の手順でWSL2を簡単にインストールできます。

learn.microsoft.com

管理者権限でPowerShellを開き、以下のコマンドを実行します。

wsl --install

このコマンドは、WSLとデフォルトのLinuxディストリビューション(通常はUbuntu)をインストールします。インストール完了後、システムを再起動するように指示される場合があります。詳細はMicrosoftの公式ドキュメントをご参照ください。

再起動後、Ubuntuを初めて起動する際に、ユーザー名とパスワードを設定します。これでWSL2のセットアップは完了です。

3. CUDAツールキットのインストール

WSL上でCUDAを利用するために、Linux用のCUDAツールキットをインストールします。詳細な手順はCUDAの公式ドキュメントをご参照ください。

sudo apt update
sudo apt install -y nvidia-cuda-toolkit

以下のコマンドでCUDAが正しくインストールされているか確認します。

$nvidia-smi

また、以下のコマンドでバージョンを確認できます。

$ nvcc --version

このコマンドで、GPUの詳細情報が表示されれば、CUDAの設定が正しく行われています。

4. Python環境の構築

WSL2のUbuntuにはデフォルトでPythonがインストールされています。バージョンを確認してみましょう。

$python3 --version
Python 3.10.12

【任意】 pyenvによるPythonのバージョン管理

プロジェクトごとに異なるPythonバージョンを利用する場合、pyenvを導入すると便利です。以下のコマンドでpyenvをインストールします。

qiita.com

curl https://pyenv.run | bash

インストール後、シェルの設定ファイル(~/.bashrcなど)を編集し、以下の内容を追加します。

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv virtualenv-init -)"

この設定を反映したら、必要なPythonバージョンをインストールできます。

pyenv install 3.8.10
pyenv global 3.8.10

pipのインストール

pipはPythonのパッケージマネージャです。通常、Pythonに同梱されていますが、入っていない場合は以下のコマンドでインストールできます。

sudo apt install python3-pip

matplotlibの対応

WSL2上でmatplotlibを利用する場合、tkinterが必要です。以下のコマンドでインストールします。

sudo apt install python3-tk

詳細はこちらの記事を参照してください。

tech.garilog.com

まとめ

この記事では、WSL2を使用してWindows 11上でCUDAとPythonの開発環境を構築する方法を説明しました。この環境を利用することで、gpuRIRのようなGPUを活用した音響シミュレーションライブラリをWindows環境でも利用できるようになります。

次回の記事では、今回構築した環境で実際にgpuRIRを利用する方法について解説します。

関連記事

www.wizard-notes.com