LinuxにCUDAをインストールする方法をまとめます.
インストールだけでなく,動作確認として
- SDK,開発環境が動作すること
- 作成したプログラムが実行できること
まで確認します
インストール
インストール手順
インストールはNVIDIAのページに書いてある手順をそのまま実行するのが良いです.
以前はディストリビューション毎にCUDAの独自パッケージがあり,ディストリビューション毎に独自のインストール方法が必要でした.
またディストリビューションによっては独自パッケージの更新が遅く,最新のパッケージSDKが使えないという問題もありました.
しかし2024年の今では独自パッケージを使うよりも,NVIDIAの公式パッケージのほうが出来が良い&バージョンが新しい状況です.公式パッケージを使うだけですべての問題が解決します.
公式パッケージのインストール手順は簡単です
- https://developer.nvidia.com/cuda-downloads をブラウザで開く
- Operating system で Linux を選択
- Architectureを選択.Intel やAMDのCPUを使っている場合は x86_64 を選びます
- Distributionは,redhatやubuntuなど自分が使っているOSを選択
- OSのバージョンを選択
- Install type はnetworkを選択
- 画面に、コマンドが表示されるのでそれを順番に実行する
だけです.
debian 12の場合だと,以下のコマンドが表示されるので,これを順番に実行するだけです
$ wget https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/cuda-keyring_1.1-1_all.deb $ sudo dpkg -i cuda-keyring_1.1-1_all.deb $ sudo add-apt-repository contrib $ sudo apt-get update $ sudo apt-get -y install cuda-toolkit-12-3
やってることは
してるだけです
インストールされるファイルの詳細(debianの場合)
と選択肢が2つあることになります.
そして両パッケージは共存できるようになっています.
具体的には
にインストールされます
またNVIDIAの公式パッケージは alternatives で複数バージョンが共存できるようになっています.
具体的には
- CUDA 12.3 は /usr/local/cuda-12.3 以下にインストール
- /usr/local/cuda は /usr/local/cuda-12.3 のシンボリックリンク
となっていてます
つまり
開発環境の動作確認
ひとまずインストール状況,環境変数PATHを確認しましょう
$ which nvcc
これでnvccをパスを確認します
/usr/local/cuda/bin/nvcc と表示されれば公式パッケージのSDKが参照されています
念の為,バージョンも確認しましょう
$ nvcc --version
Cuda compilation tools, release 12.3, V12.3.107
と表示されれば version 12.3 が参照されていることになります
テスト用ソースコードのコンパイル
テスト用に test.cu というテキストファイルを用意します
中身は次のように書きます
#include <stdio.h> __global__ void test() { printf("cuda!\n"); } int main() { test<<<1, 5>>>(); cudaDeviceSynchronize(); return 0; }
これは、コンソール画面に"cuda!"という文字列を表示するスレッドを定義していて,それをCUDA上で5個同時に起動するサンプルコードです
とりあえずこのサンプルコードでコンパイル&実行ができることを確認します
コンパイルしたプログラムの動作確認
$ ./a.out
起動します
コンソール画面に
cuda! cuda! cuda! cuda! cuda!
と5行表示されれば正常動作です
以上でCUDAのインストールと動作確認は完了です