グラフィックプロセッサの利用
グラフィックプロセッサの利用
パソコンを購入する際、どういったグラフィックプロセッサ(GPU)を搭載したグラフィックカードを選ぶかということを、重要なポイントにしている方もいらっしゃると思います。 パソコンでグラフィック性能を要求するのは、ゲーム用途が多いと思います。 そういった用途に利用しない方は、いわゆる内蔵型グラフィックという、CPUやチップセットに組み込まれたものでも、今では十分な性能を持っています。 これらのグラフィックプロセッサは、今、ゲームという枠を超えて、様々な分野で利用されるようになってきています。 グラフィックプロセッサとは Core iシリーズなど、一般にCPUといわれるプロセッサと、グラフィック用のプロセッサは、かなり作りとして違うものになります。 CPUはコンピュータのほぼすべての処理を実行する役割を与えられており、グラフィックプロセッサは画面表示周りの処理を担当するという分担がありました。 CPUはユーザーの操作による、様々な要求に汎用的に応えるように設計されています。コンピュータを操作するうえで、様々なプログラムの切り替えを行うのにも、柔軟な対応ができるように作られています。 いっぽうグラフィックプロセッサは、グラフィックの操作や、3Dの計算など、まとまった処理を高速でこなすことが得意分野です。CPUのように様々な要求に逐次答えるのにはあまり向いていません。 グラフィックプロセッサの汎用利用 グラフィックプロセッサの性能向上はCPUの性能向上と同じように、年々進化しています。 より多くのデータを、高速で処理することができるようになり、これをグラフィック以外の部分にも応用することが頻繁に行われるようになってきました。 DVDやブルーレイの再生支援、あるいはビデオ圧縮、再生への応用が一般の利用者でも、広く使われている分野でしょう。 GPUアクセラレーション対応、と書かれている場合、処理の一部、あるいはかなりの部分をグラフィックプロセッサに分担させているアプリケーションです。 映像の再生や、圧縮は、一続きのデータを連続的に処理するものですから、CPUはグラフィックプロセッサにデータを渡して計算させることにより、負担を軽減して、ユーザの他の操作に対応できるようになります。 Photoshopなどの画像編集アプリケーションでも、積極的にグラフィックプロセッサによる計算を利用しています。画像に対してフィルタをかけるような用途も、一つの大きな画像データに同じ処理を行うものです。 これらグラフィックプロセッサの力を借りることによって、CPUが直接処理を行うよりも、より高速に処理を終えることができるぐらいに、グラフィックプロセッサの力は向上しています。 プログラム中にグラフィックプロセッサを利用する枠組みとして、OpenCLやCUDAといった開発環境が整いつつあり、様々なアプリケーションに今後グラフィックプロセッサの力を取り入れることができるようになります。 今後のグラフィックプロセッサ 現在の一般向けプロセッサのトレンドとして、CPUのチップ内にグラフィックプロセッサを一つのパッケージにしたものが、増えつつあります。 Intelの第2世代Core iシリーズ以降はグラフィックプロセッサをCPU内に内蔵しています。 一つは部品点数を減らして省コスト化するための方法でもあり、もう一つはより積極的にCPUとグラフィックプロセッサを連携させていくという将来的な意図を含んでいると考えます。 タブレットやスマートフォンではAppleのA5シリーズや、nVidiaのTegraなど、複数のCPUコアと、グラフィックコアを統合されたチップを利用するのが標準的です。 これらのモバイル用途では省電力性が重要になりますが、グラフィックプロセッサとしては最新の技術を投入できるので、コンパクトさからは想像できないような表現力を持ちつつあります。 これからどんどんグラフィックプロセッサが有利な処理をグラフィックプロセッサに分担させることが一般的になれば、ユーザーとしてはよりよいパフォーマンスを手に入れることができるようになります。 スーパーコンピュータと呼ばれる分野でも、グラフィックプロセッサを並列につなげることで安価に作ることができるようになっており、グラフィックプロセッサはグラフィック用途という枠を超えて、コンピュータの性能を向上させるカギになっています。