• ベストアンサー

高性能なビデオカードのGPUをCPUにしちゃったら?

1秒間の浮動小数点演算回数をFLOPSという単位で表し、スーパーコンピュータの性能指標となっていますが、我々に身近なデバイスのFLOPS値としては以下のようなものがありますね。 ・Core 2 Duo 15MFLOPS ・Core 2 Quad 30MFlops ・PowerPC G5 8GFlops ・PS3 Cell  218GFlops ・GeForce8800GT 336GFlops こうして見てみるとCore2などの汎用プロセッサとその他の演算ユニットとの差が圧倒的に思えます。PowerPCはRISCである点が特長でしょうか‥‥。CellもPowerPC系とのことですし、GeForceはビデオカードなので浮動小数点演算は得意なのでしょうか。 さて、ここでお聞きしたいのは ・GFlopsクラス以上のプロセッサはCore2などと比べて構造的にどう違うのか。Core2もFPUを積んでおり、浮動小数点演算をハードウェアで行っているはずなのに? ・これだけFlops値に大きな差があって、計算機全体としての性能差に影響しないのか、具体的にいえば「GeForceのGPUをCPUにしちゃったらいいんじゃないの?」という気がしますがなぜそれは行われないんでしょうか。 分かりにくい質問かもしれませんが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.6

ん? Core2 系って, そんなに flops 小さかったか? 未確認だけど Core2 では SIMD 系をスループット 1クロックでできそうな気がする. もしそうなら, Core2 Duo でも 10Gflops とかいけるんじゃないかな. あと, PowerPC G5 と Cell の違いですが, 「Cell には 8個の SPE が載っている」ことに注意しなければなりません. この SPE がたぶん 8ops/clock いけます. PS3 はクロックが 3.2GHz ですから, PS3 の SPE は 7×8×3.2Gflops = 179.2 Gflops となります (7 をかけているのは, PS3 の Cell では SPE を 1個殺しているから). つまり, Cell や GPU は「単純な計算しかできないものをいっぱい載せている」ので flops が大きくなります. 逆に普通の CPU は「いろんな計算ができるものを少数載せている」ので flops の値はあまり大きくなりません. この PowerPC G5 の数値も, おそらく AltiVec を完全に使っての数値だと思います.

k_o_j_i
質問者

補足

回答ありがとうございます。 > Core2 Duo でも 10Gflops SandraだとCore2 Quadd46GFLOPSとなってますね。 ソースによって違ってます。x86命令だけなのかSSEの活用の有無なのか、最適化されるかどうかにもよるのかもしれませんね。 「AltiVec」はWikipediaの項目を読んでみました。ベクトル計算ユニットのようですね。小さなFPUを並列に揃えて一度の浮動小数点演算命令で大量のループ処理をするものでしょうか。PowerPCのほかWii、XBOX360、PS3といったゲーム機にも載せられているとありました。 要するにGPUやベクトル演算器は単純な処理を並列で一気にこなすのに特化されていて、分岐処理を伴う整数演算のような汎用性の高い業務には使えないというように理解しました。

その他の回答 (8)

  • arain
  • ベストアンサー率27% (292/1049)
回答No.9

>PowerPC系の場合はどちらも汎用プロセッサとなりますが、Flops値には歴然たる差がありますね?これはどういった構造上の違いから来るのでしょうか? これはすでに素晴らしい回答がありますので私はたとえ話程度に。 『「水泳選手」と「陸上競技の選手」、どちらもスポーツマンですが陸上競技の選手は泳ぎで水泳選手に負けてしまいます。これはどういった違いによるものでしょうか?』  >「整数演算能力」「小数点演算能力」以外にプロセッサの優劣を分かつ点があるということでしょうか? 上記は「同じ計算(もしくは同じ出力結果になる計算)」を行った際の値であり単なる「指標」でしかありません。 しかも、この指標も「演算する桁数が一緒」といった明確な基準はありません。 はっきり言えばそれすら意味がありません。 いくらCPUの演算性能が良くても、それを使用するためのソフト(アプリケーション)が最適化されていなければ全く意味はありませんので。 それと「適材適所」という言葉は知っていると思います。 「絵を早くきれいに書ける人」が必ずしも音楽や話が上手であるとは限らないということです。

参考URL:
http://www.ne.jp/asahi/comp/tarusan/
k_o_j_i
質問者

お礼

皆さんたくさんの回答ありがとうございました。 リンク先の記事なども(じっくりじゃないけど)読ませてもらい、ある程度理解できました。 GPUは特定の用途に特化され、並列処理に特化したアルゴリズムでないとパフォーマンスが出ないということですね。確かにCPUの代替には絶対なりそうもないことが分かりました。イメージ的には単純作業を人海戦術でこなすタイプでしょうか。 G5のFLOPS値はクラスタだったのですね。CoreのFLOPS値はIT関連サイトだと20~30GFLOPSになっていました。 FLOPSはベクトル計算ユニットだとかなりのスコアが出ることも分かりました。ただ、実際のところ3DCGリアルタイム描画に特化ですね。専用プロセッサなんだから考えてみればスコアが高いのも当たり前ですね。

  • cho4
  • ベストアンサー率23% (64/273)
回答No.8

PEN4の時代でも1GFLOPSは出ていたけど 何か資料がおかしいですよ そもそもFLOPSで比較していたのは20年ほど前のクレイが活躍していた頃の話 最近のCPU同士の比較の場合は、SpecCPUというものをわりと使います http://www.specbench.org/cpu2006/results/

noname#208124
noname#208124
回答No.7

PowerPC G5の値はクラスタですね http://slashdot.jp/apple/04/08/25/2150251.shtml?topic=62 >Core2もFPUを積んでおり、浮動小数点演算をハードウェアで行っているはずなのに? Core2が積んでいるのはせいぜい数個です 対してビデオカードは数百のレベルで積んでいます PC用のCPUでは"新しいCPUでは過去のソフトはより早く動くようにならなければいけない"というしがらみが存在するため足を引っ張るばかりのシングルスレッド、整数演算の性能も上げなければならず、そのために性能向上率、電力効率で言えば非効率的なOut-of-Orderなどもやめることが出来ません(Intel Atomはこのしがらみを有る程度捨てました) Cellはそんな過去の遺産はありませんから GPUがCPUにはなれないのは今のソフトがGPUにとって不得意な処理ばかりというのもあります GPUをCPUにしたところで今までのソフトが今までより遅いという事になるだけです http://pc.watch.impress.co.jp/docs/2007/0326/kaigai346.htm

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.5

>「整数演算能力」「小数点演算能力」以外にプロセッサの > 優劣を分かつ点があるということでしょうか? 横から口を差し挟みますが「シェア」でしょう。 開発費用が違いますので、新しいCPUにどんどん 差が出て、シェアはますます開きます。 それがIntel Macの登場になったと思います。 それ以外は安定性。発熱が少ないか。大きさ。 命令セット。メモリコントローラの有無。 今のAMDの社長は新しいプロセッサはユーザが 「おっ」と思うような新機軸は常に必要と言って います。差別化にキリがないのでは?

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.4

GPUではアプリケーションが動作しません。 一般のCPUは実効命令にストーリー性があります。 逐次処理といいます。これをやったら次はこれ、 というものです。 逐次処理でないものは、同時に沢山の演算装置で ドンと処理が出来ますから、トータルの演算数が 増えますが、演算装置1つ1つはそれほどでも ありませんから、GPUといえども逐次処理をすると 性能が出ません。 スーパーコンピュータの科学計算プログラムは 計算式をプログラムすることは当然ですが、 逐次処理で無い計算方法、並列演算アルゴリズム の開発が第一になります。そうしないとスーパー コンピュータの性能が出ないのです。 そういう意味でGPUは並列演算のみなので性能が 出ているわけですが、他の方も書かれているよう に、これしか出来ない、から出る性能です。

  • u-bot
  • ベストアンサー率58% (1736/2988)
回答No.3

GPUをCPUの補助にしようとする動きはあります。 GPUは並列演算が得意です。 そのため画像処理や動画エンコード等のデータ処理に独立性のある演算に向いています。 実際にTMPGEnc 4.0 XPressというエンコーダーのフィルター処理にGPUを用いるテストがされています。 http://pc.watch.impress.co.jp/docs/2008/0826/pegasys.htm http://pc.watch.impress.co.jp/docs/2008/0723/tawada147.htm ただし問題はありまして、例えばGPUとのデータを送受信する時間がかかりすぎると いくらGPUの処理速度が速くても恩恵が少ないです。 あとGPUはCPUを駆逐するようなものでなく補完関係です。 CPUにもGPUにも得手不得手があり、並列でない通常の処理はCPUが得意です。

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

>「GeForceのGPUをCPUにしちゃったらいいんじゃないの?」という気がしますがなぜそれは行われないんでしょうか GPUは「3D⇒2D変換」など、特定の計算のみに特化したプロセッサなので「普通のCPUが行っている、一般的な整数演算などが苦手」のです。 また、CPUはFlops値が低くなりがちですが、これは、CPU部とFPU部とのインタフェースがボトルネックになっている為で、CPUをFlops値で評価しても、あまり意味はありません。 これは、100m走の金メダリストとフルマラソンの金メダリストを2人同時に走らせて「どっちが優れてる?」と比べるのと一緒で、比べても何の意味もありません。 餅は餅屋、馬は馬方、です。餅屋に馬を用意させても、馬方に餅を用意させても、何の意味もありません。

  • arain
  • ベストアンサー率27% (292/1049)
回答No.1

単純に書くと「やることの違い」があるからです。 GPUは「画面表示」という機能に特化されています。対してCPUは処理すべてに対して柔軟に対応する必要があります。 単純な計算性能の比較は意味がありません。 それと「GPGPU」という言葉も調べてみてください。ある程度質問事項は解決するはずです。

k_o_j_i
質問者

補足

早速のご回答ありがとうございます。 > 単純に書くと「やることの違い」があるからです PowerPC系の場合はどちらも汎用プロセッサとなりますが、Flops値には歴然たる差がありますね?これはどういった構造上の違いから来るのでしょうか?また、IntelMACなど汎用CPUとしては86系の方が優れているととらえる向きもあるようですが、「整数演算能力」「小数点演算能力」以外にプロセッサの優劣を分かつ点があるということでしょうか?

関連するQ&A

  • 低消費電力版CPUのクロック当たり処理能力低い理由

    たとえば下記の3つのCPUです。 i3-3220T 最高クロック2.80GHz 浮動小数点演算性能 44.80 GFLOPS i5-3210M 最高クロック3.10GHz 浮動小数点演算性能 40.00 GFLOPS i7-3517U 最高クロック3.00GHz 浮動小数点演算性能 30.40 GFLOPS http://hardware-navi.com/cpu.php 最高クロックはほぼ同じですが、どうして最大演算性能にはこんなに違いがあるのでしょうか。 低消費電力版CPUがクロック当たり処理能力が低くなる理由を具体的に説明お願いします。

  • スパコン京のCPU、8FLOPS×8コア×2GHz

    スパコン京のCPUは、2GHzで8コア入っており、1コア1クロックあたり8FLOPSの性能があるそうです。 スパコン京に限らず、インテルのペンティアムとかでも1コア1クロックあたり、4FLOPSとか8FLOPSの性能があるそうですが、これがわかりません。 8FLOPSということは、1クロックあたり、浮動小数点演算が8個、答えが出るということですよね。 なぜ、1クロックあたり8個も答えがでるのでしょうか。 考えられることは、8つの演算器を並列に置いてるから、というのがありますが、これは1コアあたりと制約があるので、演算器は1つで、ということでしょう。 もうひとつ考えられるのは、内部でクロックを8倍に高速に上げていて、1クロックといいながら、演算部では8倍のクロックで回しているということが考えられますが、実際はどうなっているのですか? なにか参考になる資料とかもあれば教えてください。 それと、この場合の浮動小数点演算というのは、乗算器でいいのでしょうか。乗算器ならパイプを切って1クロックごとに1つづつの答えを出すことができると思いますが、除算器はどうなのでしょうか? スパコン京とかの除算器って、乗算器と同じFLOPSで答えを出すのですか? それとも、さすがに除算器は乗算器に比べて10倍くらいクロックがかかったりするのですか? 除算器の構造についても参考になるHP等あれば、教えてください。 最後に、CoreI7 SandyBridgeは、8 FLOPS/Clock × 3.3GHz × 6コアで、158GFLOPSだそうですがこれは、スパコン京に使われているCPUよりも高性能です。 ならこちらを使ったほうが、性能が高かったのではないですか。しかも汎用CPUなので、値段もかなり安くできたでしょう。

  • スーパーπは、ALU(整数演算)か、FPU(浮動小数点演算)どちらの性

    スーパーπは、ALU(整数演算)か、FPU(浮動小数点演算)どちらの性能によってスコアが変わるのでしょうか? スーパーπについて調べると、「FPUの性能の比較対象になる」や「整数演算の比較対象になる」など両方の情報があります。 たしかに、L2キャッシュの大小でそこそこスコアが変わるので整数演算の可能性もあります。 しかし、SSSE3対応以前のCPUのスコアがあまり高くないので、浮動小数点演算の可能性もあります。 みなさんは、スーパーπがどちらの比較をしていると考えますか? スーパーπ http://www1.coralnet.or.jp/kusuto/PI/super_pi.html

  • 浮動小数点演算と固定小数点演算の使い分けについて

    解説書などには、「浮動小数点は3.14E0の形」や「固定小数点は3.14」などと説明されています。 では、例えば、ごく一般的な32ビットマシンで「3.14 * 45.6」という命令を書いたときに演算されるのは浮動小数点演算なのか、固定小数点演算なのかがわかりません。例えばIntelのx86CPUは、内部にFPUを持っているそうですが、この場合は「3.14 * 45.6」は、内部では必ず浮動小数点演算になっているということなのでしょうか? 「3.14 * 45.6」を「3.14E0 * 4.56E1」と書いた場合にしか浮動小数点演算されないということではないと思っているのですが、実際の浮動小数点演算と固定小数点演算の内部的な切り替えがわかりません。 理解が足りなくて、おかしな質問になっていましたら、その点もご指摘いただければうれしいです。

  • AthronX2 5200とCore2DuoE6600で浮動小数点の演算が速いのはどっち?

    AthronX2 5200とCore2DuoE6600で浮動小数点の演算が速いのはどちらなのでしょうか?ベンチマークでいろいろ異なる結果が出て困っています。HD BENCHではCore2DuoE6600がAthronx2 4200に負けてしまいました。CUBASE(DAW)を使用しているので浮動小数点演算が速くないと困るのです。本当にAthronX2 5200とCore2DuoE6600で浮動小数点の演算が速いのはどちらなのでしょうか?Core2DUOの浮動小数点演算の能力が低ければ買い替えを検討しています。多角的な側面からアドバイス願います。

  • CPUの処理性能(クロックサイクルと演算回数)について

    CPUの処理性能の計算について、わかる方のお知恵を貸してください。 http://journal.mycom.co.jp/articles/2010/01/03/supercomputer2010/index.html の記事の中ほどに、以下の記述があります。 ---------------------- POWER7はPOWER ISA2.0.6に準拠しており、コアあたり4個の積和演算器を搭載し、サイクルあたり8つの倍精度浮動小数点演算を行うことができる。現在のIntelのNehalemコアが4演算であるのと比較すると2倍の演算数で、次世代のSandy Bridgeの演算数を先取りしている。 ---------------------- この、「4個の積和演算器で、サイクルあたり8つの倍精度浮動小数点演算を行うことができる」とは、このCPU(POWER7)の積和演算器は1サイクルで2つの倍精度浮動小数点演算を行うことができる仕様という意味でしょうか? そもそも、1サイクル=2演算というのは、個々の演算器の仕様に問わず常識的な意味なのでしょうか?

  • スーパーコンピュータの処理速度、能力とは、具体的には何をしているのですか。

     新聞記事では、スパコンの性能を1秒間の処理速度11.41GFlopsで、これが1秒間に10億回浮動少数点演算ができることだという範囲の説明に止まっています。    具体的には1秒間でどのような処理ができているのでしょうか。例えば、地球と宇宙の果てまでの距離が計算できる能力だとか、庶民の生活レベルで教えて下さい。  また、そのような処理を可能にしている実体はどんなものですか。やはりプログラムなのですか。浮動小数点演算とは、プログラム自体の長短にかかわらず単位時間で処理できるということですか。

  • FLOPSとGHzの違いについて

    以前UDがん研究プロジェクトに参加しておりました。 賛同者の方で、みなさんにこのプロジェクトをもっと知ってもらいたいと、動画を作りになられた方もいます。 しかし、私がみた動画で、気になる点がありました。 グリッドコンピューティングを活用したプロジェクトだったのですが、参加者PCの合計の性能がスーパーコンピューターと比較されていた部分で、「FLOPS」という言葉が使われておりました。 私も調べてみたのですが、わかった事は日本語で GHz=動作周波数 FLOPS=浮動小数点数演算 と言う事くらいです。 このGhzとFLOPSの違いを、大変申し訳ないのですが初心者の私にもわかるように教えていただけないでしょうか…。 また、私が使っているCPUはE6600で2.4Ghzなのですが、FLOPS表記にするとどのくらいなのでしょうか? よろしくお願いいたします。

  • CPUの性能について。

    ネットで、PCをカスタマイズして注文する際に、 【インテル(R) Core(TM) 2 Duo プロセッサー E8400 (6MB L2 キャッシュ、3GHz、1333MHz FSB)】と、 【インテル(R) Core(TM) 2 Duo プロセッサー E8500 (6MB L2 キャッシュ、3.16GHz、1333MHz FSB)】の、選択肢があります。 数値的には大差ないと思うのですが、性能的にどれほどの差があるのでしょうか?ご教授の程よろしくお願いします。

  • CPUの性能の基準は、「クロック周波数」以外どこを見ますか?

    数年前までは「ムーアの法則」とかなんとか言って、CPUのクロック 周波数はガンガン進化し続けていました。 しかし、最近の主流はデュアルコアで、クロック周波数はそんなに 莫大に上昇しているわけではありません。 クロック周波数を上げすぎると発熱がすごいらしいですね。 ベンチマークテストでは、整数演算やら浮動小数点演算やら (意味は分かりませんが)計算できるみたいですが、それは 店頭では確認できません。 では、パソコン店で新しいパソコンを選ぶ時、カタログ等に掲載されている どこらへんを見れば、CPUの性能の良し悪しが分かりますか?