Graphics Processing Unit

Graphics Processing Unitは、コンピュータゲームに代表されるリアルタイム画像処理に特化した演算装置あるいはプロセッサである。グラフィックコントローラなどと呼ばれる、コンピュータが画面に表示する映像を描画するための処理を行うICから発展した。特にリアルタイム3DCGなどに必要な、定形かつ大量の演算を並列にパイプライン処理するグラフィックスパイプライン性能を重視している。現在の高機能GPUは高速のビデオメモリと接続され、頂点処理およびピクセル処理などの座標変換やグラフィックス陰影計算に特化したプログラム可能な演算器を多数搭載している。プロセスルールの微細化が鈍化していることからムーアの法則は限界に達しつつあるが、設計が複雑で並列化の難しいCPUと比較して、個々の演算器の設計が単純で並列計算に特化したGPUは微細化の恩恵を得やすい。さらにHPC分野では、CPUよりも並列演算性能にすぐれたGPUのハードウェアを、より一般的な計算に活用する「GPGPU」がさかんに行われるようになっており、そういった分野向けに映像出力端子を持たない専用製品や、深層学習ベースのAI向けに特化した演算器を搭載したハイエンド製品も現れている。

1. 歴史
-----

1.1. 1970年代〜1980年代
------------------

コンシューマPC向けGPUの起源は1970年代から1980年代のグラフィックコントローラにさかのぼる。当時のグラフィックコントローラは、矩形や多角形の領域を単純に塗り潰したり、BitBltなどにより、2次元画像に対して簡単な描画処理を行うだけであり、その機能と能力は限定的だった。

グラフィックコントローラの中には、いくつかの命令をディスプレイリストとしてまとめて実行したり、DMA転送を用いることでメインCPUの負荷を減らしたりするものもあった。このような専用のグラフィックコントローラを用いずに、DMAコントローラで処理したり、汎用CPUをグラフィック処理専用に割り当てたグラフィックサブシステムを充てるコンピュータも存在した。汎用的なグラフィックス・コプロセッサは古くから開発されてきたが、当時の技術的な制約から安価な製品では機能や性能に乏しく、また高機能なものは回路の規模が増大し非常に高価なものとならざるを得ず、結果的にパーソナルコンピュータへ広く採用されることはなかった。

1980年代から1990年代前半にかけてはBit Block Transferをサポートするチップと、描画を高速化するチップは別々のチップとして実装されていたが、チップ処理技術が進化するとともに安価になり、VGAカードをはじめとするグラフィックカード上に実装され、普及していった。1987年のVGA発表とともにリリースされたIBMの8514グラフィックスシステムは、2Dの基本的な描画機能をサポートした最初のPC用グラフィックアクセラレータとなった。AmigaはビデオハードウエアにBlitterを搭載した最初のコンシューマ向けコンピュータであった。

1980年代後半から1990年代前半の日本国内で広く普及していたPCとしてPC-9800シリーズがあるが、同シリーズのグラフィックの描画に関連するチップにはGDCと、GRCG・EGCがある。GDCには直線・円弧・四角塗りつぶしなどの図形描画機能があり、この記事で扱っているタイプのLSIである。GDCは登場時点では比較的高機能・高性能であったが、CPUの性能向上によりその利点は薄くなっていった。GRCGは複数プレーンへの同時描画や描画時のマスク操作などをハードウェアで行えるもので、EGCはGRCGの強化版である。EGCはEPSONが比較的後期まで追随しなかったことや、NECがハードウェアの仕様の公開に非積極的になった以降ということもあり、あまりよく知られていない。さらに、AGDCやEEGCといったチップに至っては、非公開情報を集めた文献にもその名前以外には殆ど全く情報がない。

1.2. 1990年代
-----------

1990年代に入ると、シリコングラフィックス  が自社のグラフィックワークステーション用のグラフィックライブラリとして開発・実装したIRIS GLがOpenGLに発展して標準化され、標準化されたグラフィックライブラリとそのAPIに対応したハードウェアアクセラレータ、という図式が登場する。

実装当初のIRIS GLはソフトウェアによるものであったが、SGIでは当初よりこのAPIをハードウェアによって高速処理させる  ことを念頭に設計しており、程なくIRIS GLアクセラレータを搭載したワークステーションが登場する。ただし、当初のIRIS GLアクセラレータはまだ単体の半導体プロセッサではなく、グラフィックサブシステムは巨大な基板であった。

1990年代の初めごろ、Microsoft Windowsの普及とともに、グラフィックアクセラレータへのニーズが高まり、WindowsのグラフィックスAPIであるGDIに対応したグラフィックアクセラレータが開発された。

1991年にS3 Graphicsが開発した"S3 86C911"は、最初のワンチップ2Dグラフィック・アクセラレータであった。"86C911"という名は設計者がその速さを標榜するためポルシェ911にちなんで名付けた。86C911を皮切りとして数々のグラフィック・アクセラレータが発売された。

1995年には3DlabsがOpenGLアクセラレータのワンチップ化に成功し、低価格化と高パフォーマンス化が加速度的に進行し始める。また同年に登場したインテルのPentium Proプロセッサの処理能力は同時代のRISCプロセッサの領域に差し掛かっており、このCPUとワンチップ化によって価格を下げたOpenGLアクセラレータのセットは、それまでメーカーに高収益をもたらしていたグラフィックワークステーションというカテゴリーにローエンドから価格破壊を仕掛ける原動力となった。

1995年までには、あらゆる主要なPCグラフィックチップメーカーが2Dアクセラレータを開発し、とうとう汎用グラフィックス・コプロセッサは市場から消滅した。

1995年に3dfxによりVoodooという3Dアクセラレータが発売された。家庭用PCの性能上のボトルネックを考慮してゲーム用に最適化されたGlideというAPIも用意され、家庭用PC上で当時のアーケードゲームに匹敵する品質のグラフィックを実現した。Voodooシリーズは、1990年代後半の家庭用PCゲームの品質向上を牽引したシリーズとなった。

1995年にマイクロソフトがWindows 95とともに開発したゲーム作成及びマルチメディア再生用のAPI群DirectXではさらにグラフィック・アクセラレータの性能が強化された。DirectXのコンポートネントのひとつDirect3Dは当初から3Dグラフィック処理のハードウェア化を想定したレンダリング・パイプラインを持っていた。

1997年当時のグラフィック・アクセラレータはレンダリングのみしかサポートしていなかったが、この頃からZバッファ、アルファブレンディング、フォグ、ステンシルバッファ、テクスチャマッピング、テクスチャフィルタリングなどの機能を次々搭載し、3Dグラフィック表示機能を競うようになった。DVD-Video再生支援機能を備えるチップも現れた。

VDP等の汎用グラフィック・プロセッサについては、カーナビ等の表示用に使用され新たな市場を形成している。90年代後半からは、携帯電話に多色表示がもちいられるようになり、その分野においても有用な市場を形成している。

一方、システムの低価格化を目的に、チップセットのノースブリッジにグラフィックコアの統合を行った、統合チップセットが1997年ころから登場し始める。1999年の「Intel 810」チップセットの登場で、低価格機には統合チップセットの使用が定着し始めた。

3DCGの中核とも言えるジオメトリエンジンは高コストが許容されるグラフィックワークステーションでは専用プロセッサとして搭載されていたが、PCでは長らくCPUが担う機能であった。しかし、ジオメトリエンジンの別名とも言えるハードウェアによる座標変換・陰影計算処理が1999年にPC向けにリリースされたDirectX 7にて標準化され、またこのハードウェアT&Lを世界で初めて実装して製品化したNVIDIA GeForce 256を定義する言葉として「GPU」という名称が提唱されることとなった。ハードウェアT&Lの実装によって、NVIDIA社製品は他社製品と比較して突出した高性能を発揮するようになった。これ以後、ジオメトリエンジンとしての機能をCPUに任せる3dfx Voodooシリーズは目立って高性能とは言えなくなった。

1.3. 2000年代
-----------

DirectX 8世代では、グラフィックスパイプライン中の一部の処理をユーザープログラマーが自由に記述できるプログラマブルシェーダーが導入されるようになった。プログラマブルシェーダーは頂点シェーダー  とピクセルシェーダー  の2種類が用意され、頂点シェーダーは頂点座標や光源ベクトルの頂点単位での座標変換および頂点単位での陰影計算を、ピクセルシェーダーはピクセル単位での陰影計算をそれぞれ担当する設計だった。特に従来の固定機能シェーダーではポリゴン単位でしか陰影計算を実行できなかったのに対し、ピクセル単位での陰影計算もできるプログラマブルピクセルシェーダーの導入により、表現の自由度と解像度が飛躍的に向上した。ただし、シェーダープログラムの記述に使える言語は原始的なアセンブリ言語が基本であり、記述可能なプログラム長もごく限られていたため、開発効率や再利用性などの面で課題を抱えていた。なお、頂点シェーダープログラムとピクセルシェーダープログラムを実行するハードウェアユニットのことを、それぞれ頂点シェーダーおよびピクセルシェーダーとも呼んでいた。後にNVIDIAでCUDAを開発するIan Buckはこの最初の世代のプログラマブルシェーダーから既にGPGPUに着手しており、厳しい制約下ではあったもののレイトレーシングの高速化についての論文を発表している。

また、この世代になるとマルチテクスチャ、キューブマップ、アニソトロピックフィルタ、ボリュームテクスチャなどが新たにサポートされ、HDRIによるレンダリングや動的な環境マッピングの生成が可能になった。動画の再生や圧縮にシェーダーを使う技術も搭載された 。

DirectX 9世代になると、このプログラマブルシェーダーがさらに進化し、シェーダーのプログラムを書くための専用の高級言語であるCg、HLSL、GLSLなどが開発され、シェーダーを物理演算などゲームでの3Dグラフィック表示以外の演算に使うことも多くなった。Windows Vistaに搭載された機能のひとつ「Windows Aero」  は画面表示にプログラマブルシェーダーを利用するので、この世代のビデオチップが必須になっている。また、Mac OS XのCore ImageではOpenGLのプログラマブルシェーダーを利用して2Dグラフィックのフィルタ処理を行っている。

DirectX 10世代ではさらに自由度が増し、「シェーダーモデル4.0」  に基づくグラフィックスパイプラインが導入され、頂点シェーダーとピクセルシェーダーの間でジオメトリシェーダー  によるプリミティブ増減処理を行なえるようになった。ジオメトリシェーダーはOpenGL 3.2でも標準化されている。

グラフィックス描画処理では3次元空間を構成する表現のために三角形を色付けするピクセルシェーディング処理の負荷が、精細度や特殊処理などによって大きく変化するため、固定のハードウェアパイプライン構成ではボトルネックになることが多かった。この制約を解消するために、DirectX 10世代では演算ユニットを汎用化する統合型シェーダーアーキテクチャ  によって固定のパイプラインの一部をより柔軟な構成に変更した。頂点シェーダーとジオメトリシェーダー、そしてピクセルシェーダーの機能をあわせもつ統合型シェーダー  を多数搭載して動的に処理を振り分けることによってプログラムの自由度と共にボトルネックを解消し、演算回路数の増加に比例した画像描画処理速度の向上を得た。なお、この統合型シェーダーアーキテクチャによるハードウェアレベルでの汎用化が、GPUにおける汎用演算の発展と普及を加速させていくことになる。

統合型シェーダーアーキテクチャを採用したNVIDIA GeForce 8シリーズではWindows / Mac OS X / Linux用の標準的な汎用Cコンパイラ環境  が提供され、一方ATI Radeon HD 2000シリーズではハードウェアに直接アクセスできる環境  が、そしてRadeon HD 4000シリーズ以降ではATI Streamによるアクセス手段が用意されている。これにより科学技術計算やシミュレーション、画像認識、音声認識など、GPUの演算能力を汎用的な用途へ広く利用できるようになった。また、特定のハードウェアベンダーやプラットフォームに依存しないOpenCLというヘテロジニアス計算環境向け標準規格に続き、米マイクロソフト社からDirectX 11 APIの一部としてGPGPU用APIであるDirectComputeがリリースされた。DirectX 11のシェーダーモデル5.0では、前述のコンピュートシェーダーに加え、頂点シェーダーとジオメトリシェーダーの間に、ポリゴンの細分割・詳細化をGPUで行なうテッセレーションシェーダーが追加された。テッセレーションシェーダーはOpenGL 4.0、コンピュートシェーダーはOpenGL 4.3でも標準化されている。

なお、主にDirectXに最適化されたGeForceやRadeonなど3Dゲーム向け製品と異なり、業務用ワークステーションなど高い信頼性や耐久性が必要とされる業務用途に特化して設計されたNVIDIA Quadroシリーズ、およびAMD FireProシリーズが存在する。これら業務用製品はDirect3DよりもOpenGLおよびOpenGL対応アプリケーションに最適化されており、CAD、HPC、金融、CG映像、建築/設計、DTP、研究開発分野において採用されている。そのほか、NVIDIA TeslaシリーズやAMD FireStreamシリーズといった、GPGPU専用製品も登場している。

1.4. 2010年代～2020年代
------------------

主なCPUメーカーは、従来のCPU機能だけにとどまらず、1つのCPUチップ内に複数のCPUコアを搭載すると同時に、画像出力専用回路としてGPUコアも統合した製品を提供するようになった。例えば、米AMDでは「AMD Fusion」構想において1つのダイ上に2つ以上のCPUとGPUを統合し、米インテル社でもCore i5、Core i7、Core i3でのSandy Bridge世代から、同様の製品を提供している。なお、従来型のUMA、つまり単にCPUとGPUのチップを統合して物理メモリを共有するだけでは、CPUとGPUのメモリ空間が統一されることにはつながらない。HSAにおけるhUMAなどのように、CPUとGPUのメモリ空間を統一するためにメモリ一貫性を確保する仕組みが用意されることで初めて、CPU-GPU間のメモリ転送作業が不要となる。また、CPUとGPUの外部メモリが共用されるため、CPUチップの外部メモリバスにはCPUのアクセス帯域に加えてGPUのアクセス帯域も加わる。このため、仮にCPUチップに極めて高い性能のGPUを統合しても、統合チップのメモリアクセス帯域も相応に増強されないと、それがボトルネックとなって性能向上は望めない。

GPU用のメモリ規格として長らくDDR系およびGDDR系が採用されてきたが、2015年6月に発売されたAMD Radeon R9 Fury Xでは、新しい規格系統のHigh Bandwidth Memory  が世界で初めて採用された 。しかし、高性能だが高価格なHBMの採用はコンシューマー用途では進まず、GDDR5の後継規格であるGDDR5XやGDDR6が採用されるようになっている。

2010年代後半にGPGPUという手法が広く普及したことで、HPC分野でもGPUを多用するようになった。特に深層学習ベースのAI用途にGPUの需要が高まっている。VRAMに関しては費用対効果の面から、HPC用途ではたとえ高コストでも広帯域・大容量のHBM、ゲームなどのコンシューマー用途ではたとえ低帯域でも低コストのGDDRという棲み分けが起きている。

一方グラフィックスAPIに関しては、Mantleを皮切りとして、Metal、DirectX 12およびVulkanのように、ハードウェアにより近い制御を可能とするローレベル  APIが出現することとなった。ローレベルAPIはいずれもハードウェア抽象化レイヤーを薄くすることによるオーバーヘッドの低減や描画効率の向上を目的としており、またマルチコアCPUの活用を前提とした描画あるいは演算コマンドリストの非同期実行といった機能を備えている。また、GPUでリアルタイムレイトレーシングを実現する動きも加速しつつある。2009年にNVIDIA OptiXが、2011年にイマジネーションテクノロジーズのOpenRLが、そして2018年にマイクロソフトのDirectX Raytracing  とAppleのMetal Ray Tracingが発表された。NVIDIA GeForce RTXシリーズはDXRのハードウェアアクセラレーションに対応する最初のGPUである。

2020年にはインテルが同社としては1998年に発売した「Intel 740」以来、22年ぶりの単体GPUである「iris Xe Max」を発売し、更に2022年にインテルはPC向けで同社初の本格的な単体GPUである「Intel Arc」を発売した。NVIDIAとAMDの2社がほぼ寡占しているPC向けの単体GPU市場にインテルが本格参戦する状況になった。実態としては最上位でもミドルクラスの性能であり、Resizable BAR 非対応のマシンでのパフォーマンスの大幅低下やドライバの完成度の低さやアイドル時の電力効率の低さなどで主要2社の製品に劣るものの、既に十分使える製品となっているため、主要2社に対するカウンターとしての存在感を示すことには成功したと言える。また、2023年8月になると人工知能のGPUに対する需要の爆発な成長が故GPUは供給不足に直面している。

2. GPUの構造
---------

section=1

DirectX 10世代以降のGPUは統合型シェーダーアーキテクチャに基づいて設計されており、Intel GMAなどの一部を除きGPGPUにも対応している。

2.1. NVIDIA Fermiアーキテクチャの例
--------------------------

NVIDIAのGPUは、統合型シェーダーアーキテクチャを採用したGeForce 8  シリーズ以降、Warp単位での並列処理実行が特徴となっている 。NVIDIAのGT200アーキテクチャでは、単精度CUDAコア  と倍精度ユニット  が分かれていたが、Fermiでは単精度CUDAコア16個を2グループ組み合わせ、倍精度演算器16個と見立てて実行している。

ホストインターフェース
GigaThreadスケジューラ
グラフィックスプロセッシングクラスタ 
ラスタライザ
ストリーミングマルチプロセッサ 
命令キャッシュ 
Warpスケジューラ
命令ディスパッチユニット
レジスタファイル
Uniformキャッシュ
ジオメトリコントローラ
ストリーミングマルチプロセッサコントローラ 
CUDAコア
ディスパッチポート
命令コントローラ
浮動小数点ユニット 
整数ユニット 
結果キュー
LOAD/STOREユニット 
特殊関数ユニット  - 超越関数の実行を行なう
共有メモリ / L1キャッシュ
テクスチャユニット
テクスチャL1キャッシュ
テッセレータ 
相互接続ネットワーク
レンダー出力ユニット 
L2キャッシュ
メモリコントローラ

2.2. AMD GCNアーキテクチャの例
---------------------

AMDのGPUは、Radeon HD 2000～HD 6000シリーズにおいてVLIWを採用していたが、HD 7000シリーズ以降では、グラフィックスだけでなくGPGPUでも性能を発揮できるようにするために、非VLIWなSIMDとスカラー演算ユニットにより構成されたGraphics Core Next  アーキテクチャを採用している。AMD GPUではWavefront単位での並列処理実行が特徴となっている。

リクエスト調停
スカラーL1キャッシュ
命令L1キャッシュ
コンピュートエンジン
非同期コンピュートエンジン 
コンピュートシェーダー  パイプ
スケーラブルグラフィックスエンジン
グラフィックス  コマンドプロセッサー 
ワークディストリビュータ
コンピュートシェーダー  パイプ
プリミティブパイプ
ハイオーダーサーフィス 
テッセレート
ジオメトリ
ピクセルパイプ
スキャンコンバーション
レンダーバックエンド 
コンピュートユニット  / 統合シェーダーコア
命令フェッチ  調停
SIMDプログラムカウンタ  &命令バッファ 
命令調停 
分岐&メッセージユニット
送出/グローバルデータ共有  デコード
ベクターメモリデコード
スカラーデコード
スカラー演算装置 
レジスタ
演算装置 
ベクターデコード
混合精度SIMDユニット 
レジスタ
混合精度ベクター演算装置 
ローカルデータ共有  デコード
ローカルデータ共有メモリ
データL1キャッシュ
アドレスユニット
L1ベクターデータキャッシュ
データ返却ユニット
クロスバー 
L2キャッシュ
メモリコントローラ

3. 組み込みシステム
-----------

3.1. ゲーム機
---------

ゲーム業界においても、1990年代後半から3D描画能力の向上が求められ、ゲーム機ベンダーはGPUメーカーと共同で専用のGPUを開発するようになった。汎用機であるパーソナル・コンピュータ用GPUより先行した新機能やeDRAMの搭載で差別化したものが多い。また、汎用化・共通化のための分厚い抽象化層がほとんど不要な専用APIや専用マシン語が使えることもあいまって、同世代における下位や中位のPC用GPUよりも画像処理性能においては高性能である。

本節ではハードウェアT&Lあるいはそれに類する3次元コンピュータグラフィックスパイプラインを有するもののみを列挙する。

PlayStationに搭載されたGeometric Transfer Engine  SCE製。ハードウェアジオメトリエンジンをPC用GPUより4年ほど先行して搭載している。CPU内のコプロセッサとして動作する。 なおGTEとは別に、GPUと呼ばれるフレームバッファを扱う2Dグラフィックス処理用のチップも搭載している。
PlayStation 2に搭載されたGraphics Synthesizer  SCE製。GPUにeDRAMをVRAMとしてオンダイで混載し、2560bitという広帯域な内部バスを実現した。eDRAMはゲーム機用GPUに多用されるようになった。
PlayStation 3に搭載されたRSX Reality Synthesizer  NVIDIAとSCEが共同開発した。G70ベースであると説明されている。
PlayStation Vitaに搭載されたPowerVR SGX543MP4+ Imagination TechnologiesとSCEが共同開発した。
NINTENDO64に搭載されたRCP SGI製。座標計算や音声処理を全て内蔵DSPによるSIMD演算で行う構造で、これは現代で言えば頂点シェーダーによるGPGPUを行うことに相当する先鋭的なもの。
ニンテンドーゲームキューブに搭載されたFLIPPER ATI製。旧ArtXが担当、NEC製造。
Wiiに搭載されたHollywood AMD製。NEC製造。
Wii Uに搭載されたRadeon HD AMD製。Radeon HD 4000世代。
ニンテンドー3DSに搭載されたPICA200 ディジタルメディアプロフェッショナルが開発した。
ドリームキャスト、NAOMIに搭載されたPowerVR2 VideoLogic製。NEC製造。アーキテクチャとしてはDirectX 6世代相当。
Xboxに搭載されたXGPU NVIDIA製。GeForce3と4の中間世代のアーキテクチャ。Xboxは世界で最初にプログラマブルシェーダー対応のGPUを搭載したゲーム機となった。
Xbox 360に搭載されたXenos AMD製。統合型シェーダーアーキテクチャをPC用GPUより先行して搭載している。DirectX 9世代とDirectX 10世代の中間に相当する。
Nintendo Switchに搭載されたNVIDIA Tegraのカスタマイズ品 NVIDIA製。カスタム品であることは公式発表されているが、ベースとなったGPUがどの世代なのかは非公表である。 Vulkan 1.1、OpenGL 4.5以降、OpenGL ES 3.2に対応。なおXbox One、PlayStation 4においては、それぞれAMD製のx86互換APUのカスタマイズ版が搭載されており、GPGPUの活用とPCゲームからの移植性を重視したアーキテクチャとなっている。

3.2. その他
--------

近年、携帯電話やカーナビゲーションシステムの表示機能の高度化が著しく、組み込みシステムにおいて用いられていたVDPに代わって、OpenGL ES対応のプログラマブルシェーダーを搭載したGPUが採用されることが増えてきている。特に使用メモリと消費電力を抑える要求から、PowerVRのシェアが高い。

4. 「GPU」という名前
-------------

「GPU」は、1999年にNVIDIA Corporationが、GeForce 256の発表時に提唱した呼称である 。それまでビデオカード上の処理装置は「ビデオチップ」や「グラフィックスチップ」と呼ばれていたが、GeForce 256はハードウェアT&Lを世界で初めて搭載し、3次元コンピュータグラフィックスの内部計算および描画処理におけるCPU側の負荷を大幅に軽減するコプロセッサとしての地位を確立したことから、NVIDIA社は「Graphics Processing Unit」と命名した。

GPUと同様の名称として、Visual Processing Unit  が存在する。「VPU」は、3Dlabs Inc.が、Wildcat VPの発表時に命名した。なお、VPUの呼称に関しては、ATI TechnologiesがRadeon 9500/9700の発表時に提唱したと誤解されることがあるが、実際は、3DlabsのWildcat VPの発表が先行している。また、ATIがVPUの呼称を使ったのは、当時は3Dlabsと提携していたからでもある。

現在date=2015年3月}}はAMD  も主にGPUの呼称を使用している。

GPUとは別の分類だが、Intelは2019年から、画像認識などのコンピュータビジョンの処理に特化したプロセッサとしてVision Processing Unit  という名称を使っている。「Intel Movidius Myriad X VPU」は、AIで利用されるニューラルネットワークを高速かつ低消費電力で実現できるエンジンとハードウェアアクセラレータを搭載する、AIアクセラレータである。Meteor Lake世代のプロセッサではVPUを統合することが予定されている。VPUに画像認識処理をオフロードすることで、CPU/GPU負荷を下げることが可能となる。

5. 統合GPU
--------

一般に、チップセットに搭載されているオンボードグラフィックスプロセッサおよびCPU内蔵GPUのグラフィック機能は、単体チップ型のGPUに劣るが、消費電力やコスト面では有利である。このため、主にオフィススイートやインターネットアクセスなどを中心とした高性能が必要ない用途が想定され、低価格が求められる業務用端末機向けや、低発熱・低消費電力が求められるノートパソコンなどでは単体チップのGPUではなく、統合GPUが多く搭載されている。比較的高性能なGPUを使用するゲーム機でもコストダウンを目的としてGPUの統合化が進んでいる。スマートフォンやタブレットに使用されているSoCもCPUとGPUをひとつのチップに統合している。

統合GPUでは、ビデオカードと違って専用のVRAMを持たず、メインメモリの一部をGPUに割り当てるユニファイドメモリアーキテクチャが採用されているが、通常はCPUとGPUのメモリ空間が分離されており、お互いのデータを直接参照することはできない。そのため、事前にソフトウェアレベルあるいはドライバーレベルでのデータ転送処理が必要となる。AMD APUはHSAのhUMAをサポートすることで、CPUとGPUのメモリ空間をハードウェアレベルで統合しており、従来のユニファイドメモリアーキテクチャよりもヘテロジニアス・コンピューティングに適した形態となっている。CPUとGPUはそれぞれ得意分野が異なるものの、CPUはコアあたりの性能向上が頭打ちになってきているため、伸びしろのあるGPUにダイの面積を割いて総合的な演算性能を向上させることは理にかなっている。

GPU単体の製品のラインナップも、エントリ向けの低価格なローエンドから、価格と性能のバランスがとれたミドルレンジ、過酷な要求にも耐えうる高性能を持つハイエンド、そして価格を度外視して最高性能を求めるユーザー向けのウルトラハイエンドと様々である。また、主にゲーミング用途を想定したコンシューマー向けや、業務用途を想定したプロフェッショナル・エンタープライズ向けなどに差別化されている。しかし高性能なGPUの利用を前提とするAeroを搭載したWindows Vistaの登場以降、チップセット内、およびCPUパッケージ内に統合されているGPUコアの性能が向上してきたため、GPU単体の製品の主力は3Dゲームの快適なプレイやCADオペレーションあるいは3DCG制作におけるプレビュー用途を想定した、比較的高価で高性能なものへとシフトしている。単体GPUは主にデスクトップPC向けのビデオカード上に実装されたものとして提供・利用されているが、ゲーミング向けの高性能ノートPCなどでは、CPU内蔵GPUだけでは性能的に不十分なため、別途マザーボード上に強力な単体GPUと専用VRAMを実装しているものもある。

6. 外部GPU
--------

外付けの専用ボックス内にグラフィックスボードをスタッキングし、Thunderboltのような高速インターフェイス規格でPCに接続する形態も登場している。ノートPCや一部のベンダー製デスクトップPCは、CPUやGPUを交換することはできず、拡張性に乏しい。外付けボックスを利用して高性能なeGPUをシステムに追加することで、この欠点を補うことができる。利用には対応OSが必要となる。

7. GPU開発企業
----------

AMD
DisplayLink
インテル
Matrox
NVIDIA
Moore Threads

7.1. チップセットまたはCPU統合GPUのみ手がけている企業
--------------------------------

Apple 

7.2. 他社へのライセンス供与のみを行なう企業
------------------------

ARM
DMP
Imagination Technologies

7.3. 過去にGPUまたはビデオチップを手がけていた企業
-----------------------------

ここにソースの記載がない企業は日本語もしくは英語版Wikipediaのリンク先でソースを確認されたい。

3dfx 
3Dlabs
ALi
ArtX
ATI Technologies 
Chromatic Research
Cirrus Logic
チップス・アンド・テクノロジーズ 1997年にインテルに買収された。
Evans & Sutherland
Intergraph
Macronix
NEC
NeoMagic
Number Nine Visual Technology
Rendition
S3 Graphics
SGI
SiS
STマイクロエレクトロニクス
Trident Microsystems
Tseng Labs
Weitek
XGI Technology Inc.
アイ・オー・データ機器
ソニー・コンピュータエンタテインメント
ハドソン

8. 脚注
-----

9. 外部リンク
--------

[1]
[2] GPU移行に関するポータルサイト

10. 関連項目
--------

CPU
VRAM
GDDR3
GDDR5
リアルタイム3次元コンピュータグラフィックスAPI
DirectX 
OpenGL, OpenGL ES
Vulkan 
Metal 
GPGPU
ハードウェアアクセラレーション
ビデオカード
グラフィックアクセラレータ
グラフィックコントローラ
オンボードグラフィック