2026-07-14

SM、CUDAコア、GPUアーキテクチャ

SM、CUDAコア、GPUアーキテクチャ

NVIDIAのGPUアーキテクチャは階層構造を基に構築されています。最小単位はCUDAコアで、1クロックサイクルあたり1つの浮動小数点演算または整数演算を実行できる単純な算術ユニットです。CUDAコアは、ストリーミングマルチプロセッサ(SM)と呼ばれるより大きなユニットにグループ化されます。各SMには、固定数のCUDAコアに加えて、共有メモリ、レジスタ、スケジューリングロジックが含まれています。

SMあたりのCUDAコア数は世代ごとに増加しています。Turingアーキテクチャでは、各SMに64個のCUDAコアがありました。Ampereでは128個に増加しました。Ada Lovelaceでは、各SMに128個のCUDAコアがありますが、アーキテクチャがより効率的になったため、各コアはクロックあたりより多くの作業を行います。ハイエンドのRTX 4090には128個のSMがあり、合計16,384個のCUDAコアがあります。

CUDAコアはすべて同一ではありません。最新のNVIDIA GPUには、整数演算と浮動小数点演算用に別々のコアがあり、両方のタイプの命令を同時に実行できます。これはFP32とINT32の同時実行と呼ばれ、利用率を向上させます。平方根や三角関数などの演算用の特殊関数ユニットや、行列演算用のテンソルコアもあります。

SMには、次に実行するスレッドを決定するスケジューラも含まれています。GPUは大規模な並列処理を利用し、数千のスレッドを同時に実行します。スケジューラはスレッドを32スレッドずつのワープにグループ化します。ワープ内の32個のスレッドはすべて同じ命令を実行しますが、異なるデータに対して実行します。ワープ内のスレッドが異なるコードパスをたどる場合、一部のスレッドは待機する必要があり、効率が低下します。

メモリ階層はGPUアーキテクチャにおいて重要です。各SMには独自のレジスタファイルと共有メモリがあり、これらは非常に高速ですがサイズが制限されています。すべてのSMはより大きなL2キャッシュを共有し、その先にはグローバルVRAMがあります。この階層を理解することは、効率的なGPUコードを記述するために不可欠です。レジスタまたは共有メモリに留まるデータは、グローバルメモリ内のデータよりも数百倍高速にアクセスできます。

一緒に取り組みましょう

さらに詳しい情報やプロジェクトのヘルプ、またはアイデアの構築が必要ですか?

簡単な質問でもフルプロジェクトでも、お気軽にどうぞ。お問い合わせいただき、あなたのアイデアを一緒に実現しましょう。

お問い合わせ

トピックを切り替える

探索する専門トピックを選択してください: