NVIDIAのGPUを搭載したパソコンで、深層学習やGPUを活用した計算処理を行いたい場合、CUDA(Compute Unified Device Architecture)をインストールすることが推奨されます。CUDAはNVIDIAが提供する並列計算プラットフォームとAPIセットで、GPU上での並列処理を容易に行うことができます。
先日NVIDIAのグラボ搭載のPCを購入したのですが、CUDAはインストールされていませんでした。確認方法には下記があります。
・コマンドプロンプトを開いて、nvcc -Vと入力してエンターキーを押します。このコマンドは、CUDAコンパイラのバージョンを表示します。もしCUDAがインストールされていれば、以下のような出力が表示されます。
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Mon_Nov_30_19:15:10_Pacific_Standard_Time_2020
Cuda compilation tools, release 11.2, V11.2.67
Build cuda_11.2.r11.2/compiler.29373293_0

この環境では下記のメッセージが表示されました。
nvcc: The term ‘nvcc’ is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
・エクスプローラーを開いて、C:\Program Files\NVIDIA GPU Computing Toolkit\CUDAというフォルダを探します。このフォルダは、CUDAのインストール先のデフォルトの場所です。もしCUDAがインストールされていれば、このフォルダの中にバージョンごとのサブフォルダが存在します。
・NVIDIAコントロールパネルを開いて、左側のメニューから「システム情報」を選択します。右側のウィンドウに表示される「コンポーネント」の項目に「CUDA」が含まれていれば、CUDAがインストールされていることを示します。
一方で、ゲームや一般的なタスクにはCUDAは必要ではありません。ゲームでは、グラフィックボードに搭載されたGPUが画像や映像の描写を行いますが、その際にCUDAを使う必要はありません。一般的なタスクでは、CPUが連続的にタスクを行い、幅広い処理をすることで機能しますが、その際にCUDAを使う必要はありません。ソースは下記のスクショです。

というわけで、最終的には使用目的やニーズに応じてCUDAのインストールを検討してください。今話題のstable diffusionのような画像生成には必要です。また、neutrino diffusionは、AIに歌わせることができるニューラルネットワークベースの歌声合成ソフトです。私が多用しているVOICEVOXは、無料で使える中品質なテキスト読み上げソフトウェアです。
PowerDirectorではCUDAは必要ではありませんが、利用することで動画のエンコードやエフェクトのレンダリングを高速化できます。
CUDAをサポートするオープンソースや無償のソフトウェアは数多く存在します。以下はその一部のリストです:
- 深層学習フレームワーク:
- TensorFlow: Googleが開発した深層学習フレームワーク。広く利用されており、多くのアプリケーションや研究で使用されています。
- PyTorch: Facebookが開発した深層学習フレームワーク。研究コミュニティで非常に人気があります。
- Keras: TensorFlowの上で動作する高レベルのニューラルネットワークAPI。初心者にも使いやすいです。
- Caffe: Berkeley Vision and Learning Center (BVLC)によって開発されたフレームワーク。
- Neural Network Console: Neural Network Consoleは、Sonyが提供する深層学習の開発ツールです。グラフィカルユーザーインターフェースを持つこのツールは、ディープラーニングモデルの設計、学習、評価を直感的に行うことができます。
1、ドラッグ&ドロップの設計: ネットワークのアーキテクチャを直感的にデザインできます。
2、自動化された学習: 学習の設定や最適化のプロセスを簡単に行えます。
3、ビジュアル評価: 学習の進行状況や結果をリアルタイムで視覚的に確認できます。
4、CUDAサポート: NVIDIAのGPUを活用して、高速な学習や評価が可能です。
- GPU計算ライブラリ:
- cuDNN: NVIDIAが提供する深層学習用のGPU加速ライブラリ。
- cuBLAS: CUDA対応のBLASライブラリで、線形代数の高速計算をサポートします。
- cuFFT: CUDA対応の高速フーリエ変換ライブラリ。
- GPUプログラミング:
- Numba: Pythonのジャストインタイムコンパイラ。CUDAコードをPythonから簡単に書くことができます。
- Thrust: C++テンプレートライブラリで、CUDAやOpenMPなどのバックエンドを使用して並列アルゴリズムを実装します。
- シミュレーション & レンダリング:
- Blender: 3Dコンテンツ作成スイート。CyclesというレンダラがCUDAをサポートしており、GPUレンダリングが可能です。
- その他:
- Darknet: YOLO (You Only Look Once) という物体検出アルゴリズムのためのフレームワーク。CUDAをサポートしています。