GPUについての質問です。今まではライブラリなんかを使って画像の処理を行っていました。人力検索はてな人力検索はてなモバイル版を表示しています。PC版はこちらGPUについての質問です。今まではライブラリなんかを使って画像の処理を行っていました。その処理をするために考えてくれるのは今まではCPUだったわけですが、GPUも選択肢として出てきました。CPUではなく、GPUにさせることによりどの程度の差やメリットが生まれるのでしょうか?私の頭の中には・GPUを使うのでCPUのリソースを食わないといたことは理解できるのですが、たとえば同じ1GhzのCPUとGPUだとGPUのほうが圧倒的に処理が早いとか(出来ればなぜ早いのか?も)そういった「CPUのリソースを食わない」以外でのメリットをご教示いただけないでしょうか。▽最新の回答へ▽1●hissssa●35ポイントGPUが計算処理する上での最大のメリットは「プログラマブルシェーダ」の存在です。GPUが目的とするグラフィック処理、特にゲーム等の3Dグラフィックでは、大量の3Dデータを連続処理して画面を作っていきます。この処理をCPUで行っていては非常に効率が悪いため、よく使われる3D座標変換や陰影処理等を計算する専用の計算回路が作られました。これが「シェーダー」と呼ばれる物です。いう3D画像処理の大きな特徴は、データ処理の並列化が行いやすいという点です。シェーダー回路を増やせば増やしたぶんだけ性能がどんどん上がりますので、高性能のGPUになると何十個ものシェーダーを搭載したりします。その後、ゲーム等の3D表現の要求があがるにつれて、このシェーダーの機能が固定だとうまく利用できなくなってきました。そこで、シェーダーの処理を専用言語でプログラムできるようにしたプログラマブルシェーダが現れました。シェーダ自体をプログラムすることにより多彩な表現が可能になったわけです。このプログラマブルシェーダはそれ自体が1個のCPUのようなもので、本来のCPUほどの汎用性はありませんが大量のデータ処理を高速に行うのに向いた専用回路を持っています。高級なGPUならこのシェーダを何十個も搭載しているため、画像処理などのデータ処理に限ればCPUの何十倍?何百倍もの速度で計算を行えるわけです。このため、3Dグラフィックに限らず様々な応用が行われるようになってきたわけですね。非常に判りやすく回答いただきありがとうございます。たしかに物理的な専用回路であれば「ある意味で汎用」のCPUでは確かに性能面では比較にならないかもしれません。CPUの負荷を気にしなくてもよくなるかもしれないですし、非常に参考になりました。パフォーマンス」の「OpenGL描画を有効にする」にチェックを入れるすると、プレビューなどの処理速度が格段に速くなります。http://dc.watch.impress.co.jp/cda/review/2008/12/18/9852.html同じ1Ghzでも、CPUとGPUではコア数が全く違います。GPUはリアルタイムで処理することを前提に作られていますので、とにかくコア数が多く、100を超えるコア数のモデルもあり、これが更にマルチスレッドで駆動し、メモリの量によってほぼ無限とも言えるコア数で駆動します。簡単な計算を沢山しなければならない場合に特化して作られているので、たとえば1000個の計算をする場合は1000個のスレッドを立てて同時に計算を開始します。性能の悪いPCでも1000台集めればスーパーコンピュータ並みに速くなる原理です。CPUは処理速度を上げることにより、基本的には1000回の計算を1回ずつ繰り返します。このほうが複雑な計算にも対応できるのですが、簡単な計算には不向きです。画像処理の場合、アプリケーションがGPUに対応していない場合も多々ありますのでご注意ください。回答ありがとうございます。一人の天才より、たくさんの秀才ってわけではないかもしれませんが似たような作業であれば数が多いほうがたしかに効率はいいですね。リンク先も非常に参考になりました。ありがとうございます。□はてなトップ(C)株式会社はてな。