現時点(2024年2月)のNVIDIAのコンピューティング環境を準備するための備忘録

用途としては、ディープラーニングのトレーニングおよび推論演算の高速化

CUDA (Conpute Unified Device Architecture)

  • NVIDIAのGPUをプログラミングするための並列コンピューティングプラットフォームおよびAPI。CUDAは、GPU上での高度な数学的計算やデータ処理タスクを効率的に実行するための基盤を提供する。
  • CUDAは、GPUのコア機能を利用して一般的な計算タスクを実行するための最下層を形成。ディープラーニングだけでなく、科学計算、シミュレーション、画像処理など、幅広い分野で使用されている。
  • 現時点の最新バージョンは、12.3 Update 2
  • 注意すべきは、後述するTensorRTは最新バージョンでは動作しないこと。TensorRTを使う場合は、少し古い12.1を使う必要がある。
  • ダウンロードサイトは、https://developer.nvidia.com/cuda-toolkit
  • Windows環境には、インストーラーが存在し、PATHなど環境変数の設定などは自動で行われる。

cuDNN (CUDA Deep Neural Network library)

  • cuDNNは、ディープニューラルネットワークのための高度なルーチンを提供するGPU高速化ライブラリです。このライブラリは、ディープラーニングアプリケーションのための効率的な実装と高速化を実現します。
  • cuDNNは、CUDA上に構築され、ディープラーニングのトレーニングと推論のための高レベルの抽象化を提供します。畳み込み、プーリング、正規化、活性化などの一般的なDNN操作の最適化された実装を提供し、ディープラーニングフレームワークがこれらの操作を高速に実行できるようにします。
  • 現時点の最新バージョンは、9.0.0
  • ダウンロードサイトは、https://nvidia.com/cudnn
  • Windows環境では、zipファイルをダウンロードして展開する。その中の3つのディレクトリ(bin,include,lib)を、CUDAのインストールディレクトリにコピーする。デフォルトではコピー場所は、C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\12.3 で、最後の部分はバージョンになる。

TensorRT (Tensor Real Time)

  • TensorRTは、高性能ディープラーニング推論のためのSDKで、ディープラーニングモデルの最適化、精度の調整、効率的な実行をサポートする。
  • TensorRTは、cuDNNおよびCUDAの機能を活用して、ディープラーニングモデルをリアルタイム推論のために特化した形式に変換し、最適化する。このプロセスには、モデルの圧縮、レイヤーの融合、推論時の計算精度の調整などが含まれる。
  • 現時点の最新バージョンは、8.6 GA
  • サポートするCUDAの最新バージョンは12.1
  • ダウンロードサイトは、https://developer.nvidia.com/tensorrt-getting-started
  • Windows環境では、zipファイルをダウンロードして展開する。展開して生成されたディレクトリをわかりやすいところに移動して、その下のlibにPATHを通す。