アプリ版:「スタンプのみでお礼する」機能のリリースについて

GPUとCPUを使えば簡単に高速化できるのに、CPUでマルチプロセスを用いて高速化しようと考えるのはなぜですか?
GPUよりCPUの方が処理が速いと考えているのでしょうか?

質問者からの補足コメント

  • また、画像処理においてNVIDIAではなく、IntelのCPUのみでGPUよりも処理速度を高めるのは可能ですか?並列処理とか、パイプラインとか。

      補足日時:2018/04/06 12:42

A 回答 (3件)

画像処理に限らず、高速化や最適化には必ずトレードオフが付いて回るんですよね。



・ガチガチに高速化や最適化を行えば速くなるが、特定の環境に依存する(他の環境では動作しない)コードになってしまい、汎用性が犠牲になる

・汎用性を重視してコードを書くと、あらゆる環境で動作する代わりに、速度の伸びしろは大したことがない。性能が犠牲になる

PCだといろんな環境の機械があるので、前者のやり方では動かないことが多くなります。PCの世界では汎用性を犠牲にするアプローチは多くの場合で受け入れられません。それをやっても許されるのはゲーム機くらいじゃないですか?
    • good
    • 0

GPUを使うのであればそのGPU専用のプログラムを作成する必要があります。


CPUは統一されたアーキテクチャに則ってプログラムが作成されているので、同じOSを使っている限りは滅多にプログラムが動かないということはありません。

NVIDIA社製のGPUとIntel社製のGPU、AMD社製のGPUで共通して動かせるプログラムって…
グラフィック表示に関する部分だけですからね。

そして世の中には質問者さんと同じことを考え、そして実践する人もいます。
自分は分散コンピューティングに参加していますが、その中にGPUを使って演算を行うものがあります。


・・・余談・・・

たとえば、スーパーコンピュータを安く作ろうと、
NVIDIA社製のCPUを複数使って並列処理すれば、
一昔前のスパコンどころか最新のスパコンにすら勝てたりします。マジで。
ただし、専用のOSとプログラムを用意しなければならない。
https://blogs.nvidia.co.jp/2017/02/17/tsubame3-a …

ちなみに、そんなスパコンをWindowsで動かせると思っていたら大間違いですよ。
    • good
    • 0
この回答へのお礼

動かすならLinuxでは?

お礼日時:2018/04/06 12:40

そもそも働きが違うものなので、何を高速化したいのかによって取る手法が変わるのは当然でしょう。


GPU使ってもまったく高速化しない処理だってあるわけだし。
    • good
    • 2
この回答へのお礼

画像処理です!

お礼日時:2018/04/06 12:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!