【深堀調査】GPU基礎とNVIDIA製GPUのあれこれ

こんにちは、キクです。

本記事は、僕が日々の情報収集や自己学習の中で「あれ、これちょっと深掘って調べたいかも」と感じたものを調べて整理するシリーズになります。

今回は『GPU関連』について書いていこうと思います。

それでは、よろしくお願いします。

注意事項

本記事は自己学習としてのアウトプットも目的に含まれています。

そのため、本記事には誤った情報が含まれる可能性もありますが、ご了承ください。

GPUってそもそも?

GPUとは何か?

GPU(Graphics Processing Unit)は、もともと画像処理や3Dグラフィックスの描画に特化したプロセッサ。

近年では「並列計算の鬼」として、AIの学習・推論、科学技術計算、生成AI(LLM)などでも不可欠な計算装置になっている

特徴的なのは「一度に大量のデータを並列処理できる」ということ。

この点で、少数のコアで複雑な処理を得意とするCPUとは真逆の設計になっている。

GPUの中身はどうなっている?

GPUは、実は「1個のコアの塊」ではなく、多数の演算ユニットの集合体でできている

この演算ユニットの基本構成要素が SM(Streaming Multiprocessor) と呼ばれるブロック。

1つのGPUには数十個のSMが含まれており、各SMの中にさらに次のような専用コア群がある。

コアの種類主な役割
CUDAコア汎用の数値計算を行う
GPUにおける基本のコア
TensorコアAI・ディープラーニングの行列演算専用
Volta以降に搭載
RTコア光の反射・屈折などをリアルに表現するレイトレーシング専用ユニット
Turing以降に搭載

さらに各SMにはL1キャッシュやテクスチャユニットも含まれる。

※SMの中の構成や数はアーキテクチャごとに異なる(後述)

例:1基のGPUの中にあるコアの数(RTX 3090の場合)

項目数量補足
SM数82Streaming Multiprocessorの数
CUDAコア10,496基1SMあたり128コア
Tensorコア328基1SMあたり4基(第3世代)
RTコア82基1SMあたり1基

つまり、「GPUを1基搭載」と言っても、その中には何千もの演算コア(CUDA)と、数百のAI・RT専用コアが詰まっているということ。

もし「GPUを8基搭載した筐体」があるとしたら、各GPUはそれぞれ独立していて、上記のような構成を8個分持つというイメージでOK。

各コアはどう使い分けられる?

CUDAコア
  • あらゆる一般的な演算処理を担う
  • ゲームの物理演算や映像の基礎処理もここ
Tensorコア
  • AIモデルの学習・推論の行列計算(A×B+C)を一気に高速処理
RTコア
  • リアルタイムで光の反射や影などの表現を処理
  • レイトレーシング用途

これらが同時並行で動作可能なのがTuring以降の大きな進化点。

NVIDIA GPUアーキテクチャを整理

アーキテクチャとは、GPUの内部構造や設計方針そのもの

NVIDIAは定期的にアーキテクチャを刷新しており、その世代ごとに性能・用途・コアの種類などが大きく変わる

以下は、主要なアーキテクチャとその特徴を整理したもの

アーキテクチャ登場年代表製品特徴
Fermi2010GTX 480などCUDA本格化、GPGPU対応
Kepler2012GTX 680など消費電力改善
Maxwell2014GTX 980など電力効率の向上、動画処理の強化
Pascal2016GTX 1080, P100AI対応の入り口、HPC用途に進出
Volta2017Tesla V100Tensorコア初搭載、AI学習性能が飛躍
Turing2018RTX 2080などRTコア + TensorコアでゲームとAI両立
Ampere2020RTX 30xx, A100TF32, FP16対応、汎用性向上
Hopper2022H100FP8対応、生成AI・LLM向けに最適化
Ada Lovelace2022RTX 40xxゲーム用途に最適化、DLSS3対応
Blackwell2024〜B100などHopper後継、生成AI性能さらに向上

補足:FP8, FP16, TF32とは?

「FP」はFloating Point(浮動小数点数)の略。

GPUでの計算精度や速度はこのフォーマットによって大きく変わる

表記ビット数主な用途特徴
FP3232bit一般的な数値演算標準精度
FP1616bitAI学習・推論精度を抑えて高速化
TF3219bit相当Ampere以降のAI用途FP32とFP16の中間的存在
FP88bit生成AI・LLMの推論処理速度優先、精度は工夫して確保

生成AIやLLMのように大規模な計算を一気に回す場合、FP8やFP16のような低精度フォーマットの重要性が非常に高い。

用途別に見るアーキテクチャの違い

NVIDIAのアーキテクチャは、設計目的(ゲーム向け or AI向けなど)に応じて内部構造が大きく異なる

ゲーム・映像向け(Turing, Ampere, Ada)

  • RTコアでリアルなライティング表現
  • DLSSでTensorコアを利用してFPS向上
  • HDMIやDisplayPortなどの映像出力も強い

AI・生成AI向け(Volta, Ampere, Hopper, Blackwell)

  • Tensorコア大量搭載、FP8やTF32対応
  • HBMメモリで大容量データを高速処理
  • Transformer Engine(Hopper〜)でLLMに最適化

科学技術・シミュレーション向け(Ampere, Hopper)

  • FP64による高精度計算
  • ECCメモリ搭載で安定稼働
  • 長時間処理に耐える設計

まとめ

今回の内容をまとめると次のようになる。

  • GPUは「コアの塊」であり、CUDA・Tensor・RTなどがSM単位で組み込まれている
  • アーキテクチャによって、どの種類のコアが何に強いかが変わる
  • ゲーム、AI、科学技術のどれを重視するかで、選ぶGPUはまったく異なる
  • 自分が追っていくべきは、生成AIに強いHopperやBlackwell世代あたりが該当

-学習記録, ハードウェア
-,