Compute Unified Device Architecture (CUDA) ソフトウェアスタックは、ドライバー層、ランタイム層、および関数ライブラリ層で構成されています。 CUDAソフトウェアスタックで使用されるAPIには、ドライバAPIとランタイムAPIがあります。 このトピックでは、ドライバーAPIとランタイムAPIのバージョンを取得する方法について説明します。 このトピックでは、CUDA ToolkitバージョンとNVIDIAドライバーバージョンの互換性についても説明します。
はじめにCUDA
CUDAは、2007年にNVIDIAによってリリースされた並列コンピューティングプラットフォームおよびプログラミングモデルです。 CUDAはGPUを使用してコンピューティングのパフォーマンスを大幅に向上させます。
CUDAのアーキテクチャを次の図に示します。 CUDAソフトウェアスタックのドライバAPIとランタイムAPIには、次の違いがあります。
ドライバーAPI: さまざまな複雑な機能を提供します。
Runtime API: 部分ドライバーをカプセル化し、暗黙のドライバー初期化を提供します。
CUDAドライバーAPIはNVIDIAドライバーパッケージに含まれ、CUDAライブラリとCUDAランタイムはCUDA Toolkitパッケージに含まれます。
ドライバーAPIのバージョンの取得
ノードにNVIDIAドライバーパッケージが既にインストールされている場合は、nvidia-smi
コマンドを実行して、NVIDIAドライバーおよびドライバーAPIのバージョンを表示します。 次の図は、ノードにインストールされているNVIDIAドライバーのバージョンが515.105.01で、ドライバーAPIのバージョンが11.7であることを示しています。 つまり、ドライバーはCUDAランタイムAPI 11.7以前のバージョンをサポートしています。
ランタイムAPIのバージョンの取得
コンテナーにデプロイされたGPU高速化アプリケーションとノードにデプロイされたGPU高速化アプリケーションには、次の違いがあります。
ノードにNVIDIAドライバーがインストールされます。
NVIDIAが提供するCUDAベースイメージは、コンテナイメージの構築に使用されます。 CUDA Toolkitは、これらの基本イメージに既にインストールされています。 ベースイメージに基づいてコンテナイメージを作成できます。 CUDA Toolkitのバージョンに基づいてCUDAベースイメージを選択することもできます。
GPU高速化アプリケーションがコンテナーにデプロイされている場合、アプリケーションで使用されるCUDAランタイムAPIのバージョンは、Dockerイメージの構築に使用されるCUDAベースイメージのバージョンと同じです。 たとえば、DockerイメージがCUDAベースイメージNVIDIA/CUDA:12.2.0-base-Ubuntu20.04
に基づいてビルドされている場合、アプリケーションで使用されるCUDAランタイムAPIのバージョンは12.2.0です。
CUDA ToolkitバージョンとNVIDIAドライバーバージョンの互換性
次の表は、CUDA ToolkitバージョンとNVIDIAドライバーバージョンの互換性を示しています。 この表に示す一部のNVIDIAドライバーバージョンは、ACKでサポートされていない場合があります。 ACKでサポートされているNVIDIAドライバーのバージョンの詳細については、「ACKでサポートされているNVIDIAドライバーのバージョン」をご参照ください。 この表は、アプリケーションで使用されるCUDA Toolkitのバージョンに基づいてNVIDIAドライバーのバージョンを選択するのに役立ちます。 詳細については、「cuda-toolkit-release-notes」をご参照ください。
CUDA Toolkitのバージョン | Linux x86_64ドライバーのバージョン |
CUDA 12.1アップデート1 | >=530.30.02 |
CUDA 12.1 GA | >=530.30.02 |
CUDA 12.0アップデート1 | >=525.85.12 |
CUDA 12.0 GA | >=525.60.13 |
CUDA 11.8 GA | >=520.61.05 |
CUDA 11.7アップデート1 | >=515.48.07 |
CUDA 11.7 GA | >=515.43.04 |
CUDA 11.6アップデート2 | >=510.47.03 |
CUDA 11.6アップデート1 | >=510.47.03 |
CUDA 11.6 GA | >=510.39.01 |
CUDA 11.5アップデート2 | >=495.29.05 |
CUDA 11.5アップデート1 | >=495.29.05 |
CUDA 11.5 GA | >=495.29.05 |
CUDA 11.4アップデート4 | >=470.82.01 |
CUDA 11.4アップデート3 | >=470.82.01 |
CUDA 11.4アップデート2 | >=470.57.02 |
CUDA 11.4アップデート1 | >=470.57.02 |
CUDA 11.4.0 GA | >=470.42.01 |
CUDA 11.3.1アップデート1 | >=465.19.01 |
CUDA 11.3.0 GA | >=465.19.01 |
CUDA 11.2.2アップデート2 | >=460.32.03 |
CUDA 11.2.1アップデート1 | >=460.32.03 |
CUDA 11.2.0 GA | >=460.27.03 |
CUDA 11.1.1アップデート1 | >=455.32 |
CUDA 11.1 GA | >=455.23 |
CUDA 11.0.3アップデート1 | >= 450.51.06 |
CUDA 11.0.2 GA | >= 450.51.05 |
CUDA 11.0.1 RC | >= 450.36.06 |
CUDA 10.2.89 | >= 440.33 |
CUDA 10.1 (10.1.105一般リリース、およびアップデート) | >= 418.39 |
CUDA 10.0.130 | >= 410.48 |
CUDA 9.2 (9.2.148アップデート1) | >= 396.37 |
CUDA 9.2 (9.2.88) | >= 396.26 |
CUDA 9.1 (9.1.85) | >= 390.46 |
CUDA 9.0 (9.0.76) | >= 384.81 |
CUDA 8.0 (8.0.61 GA2) | >= 375.26 |
CUDA 8.0 (8.0.44) | >= 367.48 |
CUDA 7.5 (7.5.16) | >= 352.31 |
CUDA 7.0 (7.0.28) | >= 346.46 |
関連ドキュメント
ACKクラスターのノードにNVIDIAドライバーをインストールするときは、インストールするNVIDIAドライバーのバージョンがACKでサポートされていることを確認する必要があります。 詳細については、「ACKでサポートされているNVIDIAドライバーのバージョン」をご参照ください。