概要
SM (Streaming Multiprocessor) と CU (Compute Unit) は、NVIDIA GPUにおけるシェーダープロセッサクラスターを構成する主要な要素である。SMは複数のCUで構成され、並列処理を効率的に行うための単位となる。CUは、実際のシェーダー命令を実行する最小単位である。
SMは、GPU上でプログラムコードを実行するための実行ユニットであり、複数のCU、テクスチャユニット、特殊機能ユニット (SFU) などで構成される。CUは、SM内のワーキングユニットとして、シングルプリシジョンおよびダブルプリシジョン浮動小数点演算、整数演算、メモリロード/ストアなどの処理を担当する。CUDAコアの数は、通常、SMあたりのCU数と、各CUに割り当てられたCUDAコアの数を掛け合わせた値で決定される。アーキテクチャによって、各CU内のCUDAコア数は異なる(例:AmpereアーキテクチャではCUDAコアの他に、TensorコアとRTコアが存在する)。SM間の割り当てられたタスクは、GPUドライバおよびシェーダースケジューラによって管理され、パフォーマンスの最大化を目指す。
GPUのスペック比較において、SM数とCU数は重要な指標となる。SM数が多いほど、より多くのシェーダーを並行して実行でき、パフォーマンス向上に繋がる。特に、複雑なシーンのレンダリングや、大規模な機械学習モデルのトレーニングといった、高い並列処理能力を必要とするタスクにおいて、これらの要素が重要となる。
SM数とCU数だけでなく、各アーキテクチャにおけるCU内のCUDAコア数や、Tensorコア、RTコアの搭載数も考慮する必要がある。単純にSM数やCU数が多いからといって、常に最高のパフォーマンスを発揮できるとは限らない。また、GPUのアーキテクチャによって、SMとCUの構成や動作が異なるため、比較の際はアーキテクチャの違いを意識する必要がある。