LINEスタンプ制作代行サービス・LINEスタンプの作り方!

お電話でのお問い合わせ:03-6869-8600

stampfactory大百科事典

Graphics Processing Unit

Graphics Processing Unit(グラフィックス プロセッシング ユニット、略してGPU)とは、パーソナルコンピュータやワークステーション等の画像処理を担当する主要な部品のひとつ。Visual Processing Unit(ビジュアル プロセッシング ユニット、VPU)という名称もある。コンピュータシステムにおいて画像表示を担当するASICであるグラフィックコントローラから発展したもので、GPUはジオメトリエンジンなどの専用ハードウェアによって画像データ処理を行う集積回路をさす。現在の高機能GPUは高速のVRAMと接続され、グラフィックスシェーディングに特化した演算器を複数搭載するマイクロプロセッサとなっている。コンシューマPC向けGPUの起源は1970年代から1980年代のグラフィックコントローラにさかのぼる。当時のグラフィックコントローラは、矩形や多角形の領域を単純に塗り潰したり、BitBlt(Bit Block Transfer、ビット単位でのブロック転送)などにより、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が搭載された。これらは、グラフィックVRAMに直線・円弧・四角塗りつぶしなどの図形描画を行ったり、複数プレーンへの同時描画を行う機能を持っていた。1990年代に入ると、シリコングラフィックス(SGI)が自社のグラフィックワークステーション用のグラフィックライブラリとして開発・実装した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年にマイクロソフトがWindows95とともに開発したゲーム作成及びマルチメディア再生用のAPI群DirectXではさらにグラフィック・アクセラレータの性能が強化された。DirectXのコンポートネントのひとつDirect3Dは当初から3Dグラフィック処理のハードウエア化を想定したレンダリング・パイプラインを持っていた。1997年当時のグラフィック・アクセラレータはレンダリングのみしかサポートしていなかったが、この頃からZバッファ、アルファブレンディング、フォグ、ステンシルバッファ、テクスチャマッピング、テクスチャフィルタリングなどの機能を次々搭載し、3Dグラフィック表示機能を競うようになった。DVD-Video再生支援機能を備えるチップも現れた。VDP等の汎用グラフィック・プロセッサについては、カーナビ等の表示用に使用され新たな市場を形成している。90年代後半からは、携帯電話に多色表示がもちいられるようになり、その分野においても有用な市場を形成している。一方、システムの低価格化を目的に、チップセットのノースブリッジにグラフィックコアの統合を行った、統合チップセットが1997年ころから登場し始める。1999年の「Intel 810」チップセットの登場で、低価格機には統合チップセットの使用が定着し始めた。従来はポリゴン単位(頂点単位)でしか陰影計算をプログラムできなかったのに対し、ピクセル単位でプログラミングができるプログラマブルピクセルシェーダーの導入により、表現の自由度と解像度が飛躍的に向上した。プログラマブルシェーダーは頂点シェーダー (Vertex Shader) とピクセルシェーダー (Pixel Shader) の二種類が用意され、頂点シェーダーは頂点座標や光源ベクトルの頂点単位での座標変換を、ピクセルシェーダーはピクセル単位での陰影計算(シェーディング)をそれぞれ担当する設計だった。また、この世代になるとマルチテクスチャ、キューブマップ、アニソトロピック(異方性)フィルタ、ボリュームテクスチャなどが新たにサポートされ、HDRIによるレンダリングや動的な環境マッピングの生成が可能になった。動画の再生や圧縮にシェーダーを使う技術も搭載された (Intel Clear Video、PureVideo、AVIVO、Chromotion)。DirectX 9世代になると、このプログラマブルシェーダーがさらに進化し、シェーダーのプログラムを書くための専用の高級言語であるCg、HLSL、GLSLなどが開発され、シェーダーを物理演算などゲームでの3Dグラフィック表示以外の演算に使うことも多くなった。Windows Vistaの描画機能「Windows Aero」 (Desktop Window Manager) は画面表示をプログラマブルシェーダーを利用して行うので、この世代のビデオチップが必須になっている(Windows Aero Glassを使用しなければDirectX 8世代以前のビデオチップでもWindows Vista自体は稼働する)。また、Mac OS XのCore ImageではOpenGLのプログラマブルシェーダーを利用して2Dグラフィックのフィルタ処理を行っている。DirectX 10世代ではさらに自由度が増し、「シェーダーモデル4.0」 (SM 4.0) に基づくグラフィックスパイプラインが導入され、頂点シェーダーとピクセルシェーダーの間でジオメトリシェーダー (Geometry Shader) によるプリミティブ増減処理を行なえるようになった。ジオメトリシェーダーはOpenGL 3.2でも標準化されている。グラフィックス描画処理では3次元空間を構成する表現のために三角形を色付けするピクセルシェーディング処理の負荷が、精細度や特殊処理などによって大きく変化するため、固定のパイプライン処理ではボトルネックになることが多かった。この制約を解消するために、DirectX 10世代では演算ユニットを汎用化する統合型シェーダーアーキテクチャ () によって固定のパイプラインの一部をより柔軟な構成に変更した。頂点シェーダーとジオメトリシェーダー、そしてピクセルシェーダーの機能をあわせもつ統合型シェーダー (Unified Shader) を多数搭載して動的に処理を振り分けることによってプログラムの自由度と共にボトルネックを解消し、演算回路数の増加に比例した画像描画処理速度の向上を得た日経エレクトロニクス 2007/10/8 「プロセサはマルチ×マルチへ」。なお、この統合型シェーダーアーキテクチャによるハードウェアレベルでの汎用化が、GPUにおける汎用演算(GPGPU)の発展と普及を加速させていくことになる。統合型シェーダーアーキテクチャを採用したNVIDIA GeForce 8シリーズではWindows / Mac OS X / Linux用の標準的な汎用Cコンパイラ環境 (CUDA) が提供され、一方ATI Radeon HD 2000シリーズではハードウェアに直接アクセスできる環境 () が、そしてRadeon HD 4000シリーズ以降ではATI Stream(Brook+言語と抽象化レイヤーであるCAL)によるアクセス手段が用意されている。これにより科学技術計算やシミュレーション、画像認識、音声認識など、GPUの演算能力を汎用的な用途へ広く利用できるようになった(GPGPU)。また、特定のハードウェアベンダーやプラットフォームに依存しないOpenCLというヘテロジニアス計算環境向け標準規格に続き、米マイクロソフト社からDirectX 11 APIの一部としてGPGPU用APIであるDirectCompute(コンピュートシェーダー)がリリースされた(のちにDirectComputeをバックエンドとするGPGPU向けC++言語拡張・ライブラリとしてC++ AMPも登場した)。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シリーズ(のちにAMD FireProに統合)といった、GPGPU専用製品も登場している。主なCPUメーカーは、従来のCPU機能だけにとどまらず、1つのCPUチップ内に複数のCPUコア(マルチコア)を搭載すると同時に、画像出力専用回路としてGPUコアも統合した製品を提供するようになった。例えば、米AMDでは「AMD Fusion」構想において1つのダイ上に2つ以上のCPUとGPUを統合し、米インテル社でもCore i5、Core i7、Core i3でのSandy Bridge世代から、同様の製品を提供している。が、CPUとGPUの外部メモリが共用されるため、CPUチップの外部メモリバスにはCPUのアクセス帯域に加えてGPUのアクセス帯域も加わる。このため、仮にCPUチップに極めて高い性能のGPUを統合しても、統合チップのメモリアクセス帯域も相応に増強されないと、それがボトルネックとなって性能向上は望めない。GPU用のメモリ規格として長らくDDR系およびGDDR系が採用されてきたが、2015年6月に発売されたAMD Radeon R9 Fury Xでは、GDDR5の後継規格となる (HBM) が世界で初めて採用された 。DirectX 10世代以降のGPUは統合型シェーダーアーキテクチャに基づいて設計されており、Intel GMAなどの一部を除きGPGPUにも対応している。NVIDIAのGPUは、統合型シェーダーアーキテクチャを採用したGeForce 8 (G80) シリーズ以降、Warp単位(32ハードウェアスレッド)での並列処理実行が特徴となっている 。NVIDIAのGT200アーキテクチャでは、単精度CUDAコア (SPCC) と倍精度ユニット (DPU) が分かれていたが、Fermiでは単精度CUDAコア16個を2グループ組み合わせ、倍精度演算器16個と見立てて実行している。AMDのGPUは、Radeon HD 2000~HD 6000シリーズにおいてVLIWを採用していたが、HD 7000シリーズ以降では、グラフィックスだけでなくGPGPUでも性能を発揮できるようにするために、非VLIWなSIMDとスカラー演算ユニットにより構成された (GCN) アーキテクチャを採用している。AMD GPUではWavefront単位(64ハードウェアスレッド)での並列処理実行が特徴となっている。ゲーム業界においても、1990年代後半から3D描画能力の向上が求められ、ゲーム機(ゲームコンソール)ベンダーはGPUメーカーと共同で専用のGPUを開発するようになった。汎用機であるパーソナル・コンピュータ(PC)用GPUより先行した新機能やeDRAMの搭載で差別化したものが多い。また、汎用化・共通化のための分厚い抽象化層がほとんど不要な専用APIや専用マシン語が使えることもあいまって、同世代における下位や中位のPC用GPUよりも画像処理性能においては高性能である。なおXbox One、PlayStation 4においては、AMD製のx86互換APUのカスタマイズ版が搭載されており、GPGPUの活用とPCゲームからの移植性を重視したアーキテクチャとなっている。、携帯電話やカーナビゲーションシステムの表示機能の高度化が著しく、組み込みシステムにおいて用いられていたVDPに代わって、OpenGL ES対応のプログラマブルシェーダーを搭載したGPUが採用されることが増えてきている。特に使用メモリと消費電力を抑える要求から、。「GPU」は、NVIDIA Corporationが、GeForce 256の発表時に提唱した呼称である 。「VPU」は、3Dlabs Inc.が、Wildcat VP()の発表時に命名した。なお、VPUの呼称に関しては、ATI TechnologiesがRadeon 9500/9700の発表時に提唱したと誤解されることがあるが、実際は、3DlabsのWildcat VPの発表が先行している。また、ATIがVPUの呼称を使ったのは、当時は3Dlabsと提携していたからでもある。なお、現在はAMD (旧ATI) も主にGPUの呼称を使用している。一般に、チップセットおよびCPU内蔵GPU(統合GPU、iGPU)のグラフィック機能は単体チップ型のGPU(ディスクリートGPU、dGPU)に劣るが、消費電力やコスト面では有利である。このため、オフィススイートやネットアクセスなどを中心とした高性能が必要ない用途が想定され、低価格が求められる業務用端末(クライアント)機向けや、低発熱・低消費電力が求められるノートパソコンなどでは単体チップのGPUではなく、統合GPUが多く搭載されている。比較的高性能なGPUを使用するゲーム機でもコストダウンを目的としてGPUの統合化が進んでいる。高性能なGPUの利用を前提とするAeroを搭載したWindows Vistaの登場以降、チップセット内、およびCPUパッケージ内に統合されているGPUコアの性能が向上してきたため、ローエンドの物からGPU単体の製品は3Dゲームの快適なプレイやCADオペレーション・3DCG制作におけるプレビュー用途を想定した、比較的高価で高性能なものへとシフトしている。

出典:wikipedia

LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。