- 第3章 FPGAの仕組み
章トップ(目次)
3-1 FPGAとは何か
3-2 論理回路の基本構成(LUT / FF)
3-3 配線資源とスイッチ構造
3-4 クロックと同期設計
3-5 FPGAの設計方法(HDL)
3-6 CPU・GPU・FPGAの違い
3-7 構成データと再構成
3-8 タイミング設計と制約(STA)
3-9 配置配線(Place & Route)
3-10 I/Oとピン制約
3-11 CPU・GPU・FPGAの本質的違い
▶ 第2章 GPUの仕組み
GPUが得意・不得意な処理
GPUは万能な計算機ではありません。
その設計思想を理解すると、
得意な処理と不得意な処理
がはっきり分かれます。
GPUが得意な処理
GPUが最も力を発揮するのは、
同じ処理を大量のデータに適用する
場合です。
- 画像・映像処理(フィルタ、変換)
- 3Dグラフィックス描画
- 行列演算・ベクトル演算
- 機械学習(ニューラルネット)
- 物理シミュレーション
これらはすべて、
高いデータ並列性
を持っています。
GPUが苦手な処理
一方、GPUは
制御が複雑な処理
を苦手とします。
- 分岐が多い処理(if / switch)
- データ依存の強い逐次処理
- 小さなデータを少数回処理
- 頻繁なメモリ確保・解放
ワープ内で分岐が発生すると、
実行が直列化
されてしまいます。
CPUとの役割分担
実際のシステムでは、
CPUとGPUは
役割分担
して使われます。
- CPU:制御・分岐・管理
- GPU:大量データの演算
CPUが司令塔となり、
GPUが演算部隊として動きます。
FPGAとの違い
FPGAは、
処理そのものを
専用回路として構成
できます。
そのため、
- 低レイテンシ
- 決定論的動作
が求められる用途では、
GPUよりFPGAが選ばれる場合もあります。
まとめ
GPUは
並列性の高い演算を高速に処理する装置
です。
CPU・GPU・FPGAを
適材適所で使い分けることが、
現代の計算機設計の基本です。