CUDAプログラミングの準備

C++

グラフィックボードを買ってCUDAをするつもりだったのですが、ゲームしてましたw
ゲームの方は、落ち着くとこまでやりこんだので、今度こそCUDAやります。

現在の環境

 ハード関係
   Windows 11 Home
   CPU Intel Core i7 14700
   メモリ DDR4 32GB
   グラフィックボード Nvidia RTX4060(8GB)

 事前にインストール済みのソフトウェア
   IDE Visual Studio 2022
   NVidiaのドライバは最新に更新しました

準備

CUDAは全く初めてなので、完全に手探りで始めました。
① ToolKitのインストール
  CUDAに必要なライブラリがセットになっているものです。
  次のHPからダウンロードしてインストールしました。
   ダウンロード先 CUDA Toolkit 12.8 Downloads | NVIDIA Developer
  HPの様子
   ログイン不要で、OSやアーキテクチャを選ぶだけでダウンロードできます。
   UIがわかりやすくてよかったです。

 ダウンロードした実行ファイルを使ってインストールします。
 インストール先フォルダは、わかりやすいところに入れました。

  インストール自体はシンプルで、なんの問題もありませんでした。

高速インストールを選んで「次へ」

環境変数は自分で確認してねという内容

 環境変数を設定するために、パスをコピペしようとするも、できない!
 ここは残念な不親切設計でしたが、すでにWindowsの環境変数は設定されていました。
 すでにインストールされているアプリをチェックしているみたい。
 VisualStudio先に入れておいてよかった。

② CUDAデバイスが動作しているか確認
  次のコマンドで動作チェックができるとのこと

c:\ > nvidia-smi
Wed Feb  5 14:59:56 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 571.96                 Driver Version: 571.96         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 4060      WDDM  |   00000000:01:00.0  On |                  N/A |
|  0%   54C    P8             N/A /  115W |     476MiB /   8188MiB |      4%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            5628    C+G   ...em32\ApplicationFrameHost.exe      N/A      |
|    0   N/A  N/A            7196    C+G   ...5n1h2txyewy\TextInputHost.exe      N/A      |
|    0   N/A  N/A            8584    C+G   ...yb3d8bbwe\WindowsTerminal.exe      N/A      |

 ちゃんとグラフィックボードが認識されています。
 プロセスのメモリ使用量を見ると、N/Aになっているので、グラボプロセス以外のプロセスも表示されているみたいです。

③ VisualStudioの起動

  VisualStudioを起動させて、「新しいプロジェクトの作成」を選択すると
     CUDA テンプレート
 が選べるようになっていました。

適当なプロジェクト名をつけて作成します

サンプルプログラムを作ってくれるので、特になにも変更する必要はありませんでした。

{1,2,3,4,5} + {10,20,30,40,50} = {%d,%d,%d,%d,%d}
の解を表示しているので簡単なベクトル演算をしているようです。
 実行結果は次の通り

終わりに

 とりあえずCUDAが動く環境まで作ることができました。
 まだグラボを使っている実感は全くありませんが、早く動かしてみたいです。