NVIDIA開発環境を整理する

超久々に記事記載。
最近は生成AIの話題ばかりなのでローカル環境で開発できるようにするため、NVIDIA開発環境を整備してみます。

# nvidia-smiコマンドで環境を確認
で、まずは nvidia-smiコマンドで環境を確認する。
nvidia-smiコマンドがなければ、ドライバのダウンロードへ。

当然ですがPCにNVIDIAのGPUが入っていないと使えません。

```shell-session
>nvidia-smi
Sun Feb  9 06:18:07 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 555.97                 Driver Version: 555.97         CUDA Version: 12.5     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3060 ...  WDDM  |   00000000:01:00.0 Off |                  N/A |
| N/A   43C    P8             13W /   85W |       0MiB /   6144MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+
```
ってなった。

# ドライバのダウンロード
だけど、ドライバって今は何が最新版なのか？って確認してダウンロードしてみる。

おいらのPCはNVIDIA GeForce RTX 3060 で
NVIDIA-SMI 555.97                 
Driver Version: 555.97         
CUDA Version: 12.5
だったので、

https://www.nvidia.com/ja-jp/drivers/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255677/69ae842f-2722-4867-ea69-a489edc36340.png)

で探すと↓これだった。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255677/e7e07f3d-9bda-9bc1-bd83-fccece390523.png)


ドライバー バージョン:572.16 なので全然アップデートしていなかったみたい。

ドライバー バージョン:	572.16 | WHQL
リリース日:	Thu Jan 30, 2025
OS:	Windows 10 64-bit,
Windows 11
言語:	Japanese
ファイル サイズ:	844.5 MB

https://www.nvidia.com/ja-jp/drivers/details/240565/

をダウンロードして基本的にデフォルト値でインストールしてみる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255677/3c0bb8f4-25ca-9b1c-b2e4-bff25dfce51d.png)

nvidia-smiコマンドで環境を確認する。

```shell-session
>nvidia-smi
Sun Feb  9 07:09:33 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 572.16                 Driver Version: 572.16         CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3060 ...  WDDM  |   00000000:01:00.0 Off |                  N/A |
| N/A   58C    P0             28W /   80W |       0MiB /   6144MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+
```
NVIDIA-SMI 572.16 
Driver Version: 572.16         
CUDA Version: 12.8

となった。

# Nvidia CUDA コンパイラ (NVCC)のバージョンを確認
GPUを使った開発を行うなら Nvidia CUDA コンパイラ (NVCC)が必要なのでバージョンを確認する。

```shell-session
>nvcc --version
'nvcc' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
```

おっと、このPCには入ってない。
エンジニアだと経験上知っていると思うけど、ゼロからすべて開発するなら最新版入れてもOKだけど、いろんなライブラリの依存関係や、動作環境とかあるのでコンパイラのバージョンは注意する必要がある。

オイラ的にはいまは DeepSeekをローカルで動作させることが気になっているので DeepSeekに関連したOSSのライブラリがどのバージョンのコンパイラで開発されているかをチェックしておきたい。

いま話題の llama.cpp とは?
C++で実装されているLlamaモデルを量子化するためのツール。
現在はLllamaモデルだけでなく他の一部LLMモデルにも対応している。というのがある。


https://github.com/ggerganov/llama.cpp/releases

2025/2/9 現在は

cudart-llama-bin-win-cu12.4-x64.zip
llama-b4667-bin-win-cuda-cu12.4-x64.zip

となっている。

# Nvidia CUDA コンパイラ (NVCC) のインストール

どうやら、cuda 12.4 で開発しているようなので、
https://developer.nvidia.com/cuda-toolkit-archive

から、古いものを探して

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255677/fa20115a-8c14-977c-f9ac-fa7454157fab.png)

でダウンロードして12.4 をインストールする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/255677/a96dfa53-93e9-138d-a075-e2365e214f3f.png)

```shell-session
>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Mar_28_02:30:10_Pacific_Daylight_Time_2024
Cuda compilation tools, release 12.4, V12.4.131
Build cuda_12.4.r12.4/compiler.34097967_0
```
となりました。これで開発ができますね。