この記事にたどり着いた方々は、きっとGPUを活用したディープラーニング開発を始めたいと考えていることでしょう。 この記事は、Ubuntu環境でCUDAを用いたGPU演算環境を構築するための実践ガイドです。
特に初心者の方々が「私のPCにCUDAは正しくインストールされているのだろうか?」と確認する際に、実践しやすい内容で構成しています。

CUDAの概念から知りたい方は、まず以前の投稿CUDAとは何か? GPUと並列計算の始まりをご覧いただくことをお勧めします。

NVIDIA driving CUDA supercar


1. なぜGPU環境を設定する必要があるのか?

AIモデルの学習には非常に多くの行列演算が必要となります。
このような演算はCPUよりも並列演算に特化したGPUのほうがはるかに高速に実行されます。

しかし、GPUがあるからといって、それだけで十分というわけではありません。
オペレーティングシステムにGPUを認識させるためのドライバー
GPUで演算を可能にするためのCUDA
ディープラーニングに最適化されたライブラリcuDNN
この3つすべてが正しくインストールされている必要があります。


2. 私のGPUの状態確認 - ドライバーとCUDAがあるのか?

nvidia-smi

これはGPUの現在の状態を示すツールです。
ここでCUDA Versionが表示され、GPUの名前が正しく表示されていれば、
GPUが正常に認識され、ドライバーもインストールされていることを意味します。


3. CUDA開発ツール - nvccがなぜ必要なのか?

nvccはCUDAコード(.cu)をコンパイルするツールです。
例えるなら、CUDAを「実際に使う」ために必要なコンパイラと言えるでしょう。

sudo apt update
sudo apt install nvidia-cuda-toolkit
nvcc --version

4. cuDNN - ディープラーニング演算をGPUで高速に行う秘密兵器

cuDNNはディープラーニング演算を最適化する、NVIDIAのディープラーニング専用高速数値演算ライブラリです。

ディープラーニングフレームワーク(PyTorch、TensorFlowなど)で使用される

  • Convolution
  • Pooling
  • RNN
  • LSTM
  • BatchNorm
  • Activationといった演算を、GPUで非常に迅速かつ効率的に計算できるようにします。

PyTorch、TensorFlowなどのディープラーニングフレームワークを使用する予定がある方にとっては、必須のライブラリです。

CUDAバージョンに合ったcuDNNパッケージをインストールすることで、フレームワークがGPUを効率的に利用できるようになります。

cuDNNパッケージはオペレーティングシステムやCPUアーキテクチャによってダウンロード先が異なるため、ダウンロードする際は必ずNVIDIAの公式cuDNNダウンロードページにアクセスし、ご自身の環境に合ったライブラリをダウンロードし、インストールしてください。

NVIDA cuDNNダウンロードリンク

上記のリンクからcuDNNをダウンロードする際は、最初にnvidia-smiで確認したご自身のCUDAバージョンを確認し、適切なcuDNNをインストールしてください。


5. テスト - PythonでGPUが動作するか確認しよう

インストールが完了したら、正しく動作しているか確認してみましょう。

import torch
print(torch.cuda.is_available())          # True
print(torch.cuda.get_device_name(0))      # NVIDIA GeForce RTX  XXXX

6. まとめ

構成要素 実施内容 目的
NVIDIAドライバー インストール状態確認 (nvidia-smi) GPUをシステムで認識させるため
CUDA Toolkit nvccのインストール CUDAコード実行のためのコンパイラ
cuDNN cudnn-cuda-12のインストール ディープラーニング演算最適化ライブラリ
PyTorchテスト GPU連携確認 実際に演算可能か検証するため

7. まとめ

これで、あなたのシステムはGPU演算の準備が整いました。
この環境があれば、Whisper、LLaMA、ChatGPTなど、さまざまなモデルをGPUで迅速に学習・実行できるようになるでしょう。