Graphics Processing Unit
一般に、チップセットに搭載されているオンボードグラフィックスプロセッサおよびCPU内蔵GPU(統合GPU、integrated GPU: iGPU)のグラフィック機能は、単体チップ型のGPU(ディスクリートGPU、discrete GPU: dGPU)に劣るが、消費電力やコスト面では有利である。このため、主にオフィススイートやインターネットアクセスなどを中心とした高性能が必要ない用途が想定され、低価格が求められる業務用端末(クライアント)機向けや、低発熱・低消費電力が求められるノートパソコンなどでは単体チップのGPUではなく、統合GPUが多く搭載されている。比較的高性能なGPUを使用するゲーム機でもコストダウンを目的としてGPUの統合化が進んでいる。スマートフォンやタブレットに使用されているSoCもCPUとGPUをひとつのチップに統合している。
統合GPUでは、ビデオカードと違って専用のVRAMを持たず、メインメモリの一部をGPUに割り当てるユニファイドメモリアーキテクチャが採用されているが、通常はCPUとGPUのメモリ空間が分離されており、お互いのデータを直接参照することはできない。そのため、事前にソフトウェアレベルあるいはドライバーレベルでのデータ転送処理が必要となる。AMD APUはHSAのhUMAをサポートすることで、CPUとGPUのメモリ空間をハードウェアレベルで統合しており、従来のユニファイドメモリアーキテクチャよりもヘテロジニアス・コンピューティングに適した形態となっている。
また同年に登場したインテルの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グラフィック表示機能を競うようになった。
Graphics Processing Unit(グラフィックス プロセッシング ユニット、略してGPU)は、コンピュータゲームに代表されるリアルタイム画像処理に特化した演算装置あるいはプロセッサである。グラフィックコントローラなどと呼ばれる、コンピュータが画面に表示する映像を描画するための処理を行うICから発展した。特にリアルタイム3DCGなどに必要な、定形かつ大量の演算を並列にパイプライン処理するグラフィックスパイプライン性能を重視している。現在の高機能GPUは高速のビデオメモリ(VRAM)と接続され、頂点処理およびピクセル処理などの座標変換やグラフィックス陰影計算(シェーディング)に特化したプログラム可能な演算器(プログラマブルシェーダーユニット)を多数搭載している。プロセスルールの微細化が鈍化していることからムーアの法則は限界に達しつつあるが、設計が複雑で並列化の難しいCPUと比較して、個々の演算器の設計が単純で並列計算に特化したGPUは微細化の恩恵を得やすい。さらにHPC分野では、CPUよりも並列演算性能にすぐれたGPUのハードウェアを、より一般的な計算に活用する「GPGPU」がさかんに行われるようになっており、そういった分野向けに映像出力端子を持たない専用製品や、深層学習ベースのAI向けに特化した演算器を搭載したハイエンド製品も現れている。
1999年にグラフィックス部門をNVIDIAに売却)
SiS(SiS 315やXabreなど。単体GPU・チップセット統合GPUともに手掛けていたが、現在は撤退している)
STマイクロエレクトロニクス(NECの後にImagination Technologies/VideoLogicのGPU製造を受託していた企業。KYRO II SEをもって撤退。詳しくはPowerVRの記事を参照)
Trident Microsystems(英語版)(Blade XPやXP4など。2000年代前半にXGI Technology Inc.にグラフィックス部門を売却)
Tseng Labs(ET4000/ET6000というDOS向けGPUを開発していた。グラフィック部門をATIに売却)
Weitek(POWER9000/9100というワークステーション向けGPUを開発していた。ロックウェルに買収される)
XGI Technology Inc.(VolariシリーズというGPUを手掛けていたが、2006年にパソコン向けからは撤退し、組み込み向けに移行)
アイ・オー・データ機器(GA-1024Aなど、PC-98向けに自社でGPUを開発していた時期がある)
ソニー・コンピュータエンタテインメント(PlayStation向けにGeometric Transfer Engine (GTE)を、PlayStation 2向けにGraphics Synthesizer (GS)を開発。ゲーム機の項目も参照)
ハドソン(PCエンジン向けにHuC6270を開発。HuC62の記事も参照)
DirectX 8世代では、グラフィックスパイプライン中の一部の処理をユーザープログラマーが自由に記述できるプログラマブルシェーダーが導入されるようになった。プログラマブルシェーダーは頂点シェーダー (Vertex Shader) とピクセルシェーダー (Pixel Shader) の2種類が用意され、頂点シェーダーは頂点座標や光源ベクトルの頂点単位での座標変換および頂点単位での陰影計算(シェーディング)を、ピクセルシェーダーはピクセル単位での陰影計算をそれぞれ担当する設計だった。特に従来の固定機能シェーダーではポリゴン単位(頂点単位)でしか陰影計算を実行できなかったのに対し、ピクセル単位での陰影計算もできるプログラマブルピクセルシェーダーの導入により、表現の自由度と解像度(精細度・品質)が飛躍的に向上した。ただし、シェーダープログラムの記述に使える言語は原始的なアセンブリ言語が基本であり、記述可能なプログラム長(命令数)もごく限られていたため、開発効率や再利用性などの面で課題を抱えていた。なお、頂点シェーダープログラムとピクセルシェーダープログラムを実行するハードウェアユニット(演算器)のことを、それぞれ頂点シェーダーおよびピクセルシェーダーとも呼んでいた。後にNVIDIAでCUDAを開発するIan Buckはこの最初の世代のプログラマブルシェーダーから既にGPGPUに着手しており、厳しい制約下ではあったもののレイトレーシングの高速化についての論文を発表している。
また、この世代になるとマルチテクスチャ、キューブマップ、アニソトロピック(異方性)フィルタ、ボリュームテクスチャなどが新たにサポートされ、HDRIによるレンダリングや動的な環境マッピングの生成が可能になった。