曖昧さ回避
- Graphics Processing Unitの略
- Gosudarstvennoe Politicheskoe Upravlenieの略。ソ連の秘密警察。
- Ground Power Unitの略。空港に駐機している飛行機への電力供給設備。
本稿では1.について説明する。
Graphics Processing Unit
コンピューターの画像表示を司るLSI(グラフィックコントローラ)のうち、高度な演算機能を持っているもの。マイクロプロセッサの一種で、モバイル機器や一般的なノートパソコン向けのものは統合GPUとしてCPUやSoCに統合されているが、PC向けの高性能品は独立チップとして実装され、高速な専用メモリ(VRAM)と接続され、メインボードとは独立したビデオカードに搭載されている。
2D画像の描画、3Dオブジェクトの生成(レンダリング)のほか、GPU内で生成された3Dオブジェクトを実際に表示される2D画像へ変換する処理(ジオメトリ演算)や動画の再生・変換(デコード・エンコード)を担う。グラフィック関連以外でも、ディープラーニングなどのAI関連の処理や、流体計算などのシミュレーションには欠かせない存在となっている。
歴史
※パソコン・ワークステーション用GPUの歴史を中心に記述するが、必要に応じてゲーム機やサーバー、組み込み向けにも触れる。
前史
初期のグラフィックコントローラは矩形領域転送や図形描画の支援を行うもので、性能も低く、専用品ではなく汎用CPUを代用しているものもあった。汎用グラフィックコプロセッサは安価なものでは性能が低すぎ、普及しなかった。妥当な性能のものは回路規模が巨大で高価になり、もっぱら業務用の高価なワークステーションに搭載された。
ドット絵とスプライトの表示専用に設計されたものはファミコンやPCエンジンに搭載されている。これらゲーム機に搭載された表示回路は、ゲーム専用に機能を割り切ったために安価となり、一部はMSXなどのパソコンにも転用された。
ウィンドウシステム黎明期〜3D表示の標準化へ(1990年代)
1990年代に入ると、OpenGLの実行のハードウェア化やWindowsなどのウィンドウシステムの台頭で、パソコンでもグラフィックアクセラレータの需要が高まりだした。初めは、ワンチップのシステムではなく、グラフィックシステム基板として作られていたものも、やがてワンチップ化できるようになり、汎用グラフィックスコプロセッサは「ウィンドウアクセラレータ」などと称してほとんどのパソコンに搭載されるようになった。
1993年ごろからPCでも3Dゲームが流行し始めるが、初期のパソコン向け3Dゲームはプリレンダの3DCGをスライドショーで流すか、CPUのみでレンダリングを行っていた。最初のPC向け3Dアクセラレータは汎用グラフィックスコプロセッサと別体であり、「VooDoo」専用APIである「Glide」を用いる3dfxの独壇場であったが、ATIが(MicrosoftのDirectXコンポーネントの1つである)Direct3Dに対応した3D描画回路を2Dビデオチップに統合した3D RAGEを発売し、市場から強い支持を得る。ATIはさらにDVD-Video再生支援や動画の再生支援機能などの付加機能を次々と統合し、他社も追随した。そして1999年にはNVIDIAがジオメトリ演算をGPUで行いCPUの負荷を軽減する(ハードウェアT&L)GeForce 256を発売し、3Dの描画能力の高さで頭一つ抜け出た
プログラマブルシェーダの搭載とウィンドウシステムの3D化(2000年代)
2000年代はじめにはNVIDIAとATIの2社が3Dの描画性能を競う熾烈な競争を展開し、3dfx、S3、Matroxなど競争に破れた多くのメーカーが脱落していった。これまで固定機能だったシェーダー(GPUで陰影処理を行う演算装置)は、2001年にはソフトウェアで制御可能な「プログラマブルシェーダ」が導入され、画面描画の自由度が飛躍的にアップ。新たな陰影処理技法や各種エフェクト(画面効果)が次々と登場した。NVIDIAとATIはシェーダの搭載数を競い、ハイエンドのGPUは単純な計算能力ではCPUを大きく上回るようになった(消費電力もだが...)。この演算能力を生かして動画や音声の処理をさせる技術がGPUのドライバに実装されたほか、OSのウィンドウシステムも3Dで描画されるようになり(WindowsVista以降)、ゲームをしないユーザーも高性能なGPUの恩恵を受けられる。2006年ごろからは暗号の解読、データの圧縮・伸長(エンコード・デコード)、物理演算など汎用の計算用プロセッサとして使う試み(GPGPU)も始まったが、画像の処理だけを前提としたGPUのハードウェアで、その他の種類の処理をさせるのは困難を伴うものであった。
この頃には2D専用の汎用グラフィックスコプロセッサはPC向け製品としては用いられなくなり、カーナビゲーションシステムなどの組み込み機器でのみ使われるようになった。
GPUの汎用プロセッサ化(2010年代)
2010年代に入るとGPUが汎用プロセッサとしての活用を前提として設計されるようになり、自動的に処理を振り分けてくれるAPIが用意されてGPGPU用途に広く使われ始めた。演算処理に特化して画像出力機能を省いた製品(もはや本来の「GPU」とは言えないが)も現れた。GPUは複雑な計算は苦手で、膨大なデータに一括で単純な処理を行う用途に向いているのだが、この頃注目されはじめた「ビッグデータ」の処理やAI(人工知能)関連の処理はGPUの大得意とするところで、GPUを集積したサーバの需要が激増した。2012年頃から機械学習の技術が長足の進歩を遂げたが、その裏にはGPGPUの発展があった。
写真編集や動画編集ソフトにも、GPUの汎用演算能力を活かしたアクセラレーションが実装され、GPUの性能が作業効率を左右するようになった。2000年代には個人で高価なビデオカードを欲しがるのはゲーマーと相場が決まっていたが、この時期には映像編集者や3DCGのクリエイター、VRChatなどのVRプラットフォームユーザーなどにも高性能なビデオカードのニーズが生まれている。
グラフィックスAPIは、2010年代後半からMetal、DirectX 12、Vulkanのように、抽象化層を薄くし、ハードウェアに近い層で制御してパフォーマンスを上げたローレベルAPIがトレンドとなった。この背景としては、2010年代にはGPUの大ざっぱな構成が固まってきて、各社とも極端な差はなくなったことがある。2000年代の各社のGPUの内部構造は全然違い、かつ同じ会社でも1世代ごとにがらりと変わっていたため、開発者の負担を軽減するため、分厚い抽象化層が必要だったのである。
HDR(High Dynamic Range:ハイダイナミックレンジ)もハイエンドから徐々に浸透。2018年にはレイトレーシングによるリアルタイム3D描画に対応したGPUが登場した。レイトレーシングは大量の演算を要するためレンダリングに時間がかけられる映画などにのみ採用されてきたが、GPUの演算能力向上によりリアルタイム描画が現実的になってきたため、PCゲームでは従来のラスタライゼーションによる効率的な3D描画と併用されるようになりつつある。
IoT機器やカーナビなどでも表示機能の高度化が著しく、過去に組み込みシステムにおいて用いられていたVDPに代わって、プログラマブルシェーダを搭載したGPUを組み込んだSoCが採用されるようになった。この分野では使用メモリと消費電力を抑える要求からPowerVRのシェアが高いが、NVIDIAやAMDも自社GPUコアを統合した組み込み向けSoCを提供している。UAVや自動運転車両、監視カメラなどにも(SoCに統合された)GPUが搭載され、ロボット技術の進化を支えている。
AIプロセッサの進化とハードウェアレイトレーシングの浸透(2020年代)
AIの進化はとどまるところを知らず、NVIDIAのGPUへの需要が爆発的に伸びた。AMDも含めて仮想通貨のマイニング需要もあり、ビデオカードが猛烈に値上がりし、PCゲーマーを困らせた。また、2022年のAIイラストブームを皮切りに個人向けにも生成AI需要が発生し、AI絵師はこぞってNVIDIAのGPUを搭載したビデオカードを買いに走った。なお、生成AIではGPUそのものの性能もさることながら大きなVRAM容量が要求され、AIイラストでは「12GB以上」が目安とされるが、用途によってはその倍の24GBでも足りない場合がある。AI演算自体はAMDなど他社のGPUでも可能であるが、先行者利益でCUDAによる開発資産が充実したNVIDIAのGPUが圧倒的優位になっている。NPU(Neural network Processing Unit)などとしてAIに特化したプロセッサも開発され、パソコンやスマートフォン用のSoCに組み込まれつつあるが、NPUは推論(学習を済ませたAIモデルが予測や結論を出すこと)のみに用いられ、AIモデルの学習についてはGPUの利用が主流である。
GPUの"本分"であるゲームにおける3DCG描画でも、ハードウェアレイトレーシングの浸透が進み、4K2Kのような超高解像度出力、144fps・240fpsのような高フレームレートなど、GPUに極端な負荷がかかる描画が一般化しつつある。2022年には仮想通貨バブルの崩壊によりマイニング需要が落ち着き、ミドル機から準ハイエンドは一頃に比べれば手頃になった。それでも、AI半導体需要の影響でNVIDIAのハイエンドGPUは高止まりしたままである。
ゲーム機用GPU
かつてのゲーム機はパソコン向けビデオチップと要求される機能が大きくかけ離れていたため、それぞれ専用のカスタムチップを搭載していたが、1998年に登場したドリームキャストは汎用のGPUであるPowerVR2を搭載した。
ゲーム機向けに専用グラフィックチップを独自に開発し搭載したのは2001年のゲームキューブ(任天堂がATIと共同開発したFlipperを搭載)とこれを引き継いだWiiが最後であり、2010年代以降の据え置きゲーム機は、いずれもパソコン用GPUをベースにした汎用GPUを搭載している。画像処理能力では発売当時のパソコン向けハイエンド製品に準じる性能を持つ。
携帯ゲーム機では、PSVitaはPowerVR系GPUを採用していた。ニンテンドー3DSは、消費電力を減らすため、ゲームで用いられる3Dグラフィック機能に特化した「PICA200」というGPUを搭載した。ニンテンドースイッチに搭載されているのはNVIDIAのTegra X1ベースのSoCである。
主なメーカー・ブランド
単体GPUメーカー
その他の開発メーカー
(組み込み向けに展開、単体販売なし)