• ベストアンサー

ベクトル型CPUとは?役に立つのでしょうか?

最近、スパコンが、仕分けで話題で興味を持ったのですが、 ベクトル型CPUというのはスカラー型とどう違うのでしょうか?(Wikipediaも仕組みについて具体的なことが書いてなかったので・・・) 単に、複数の処理を同時に行うのがベクトル型のCPUでしょうか?それなら、スカラー型を複数つなげたクラスタによる並列計算と変わらないと思うのですが、何か違うがあるのでしょうか? スカラーCPUはマーケットで成功していてコストパフォーマンスがいいから、ベクトル型CPUが存在する意義がいまいち分かりません。 ベクトル型CPUの仕組みと、その意義について分かりやすく教えていただけると幸いです。

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

  • ベストアンサー
回答No.2

シミュレーション・・というのか学術計算ではベクトルの乗算・・要するに(x1,x2,x3・・)と(y1,y2,y3・・)という数字の組の間でx1・y1+x2・y2+x3・y3・・・・のような乗算と加算を行うという演算が多用されるわけですね. そこで,このようなベクトル単位でのデータフェッチだの演算だのを1命令で「せーの,どん!」で行えるようにしたのがベクトルプロセッサというわけです.x86でもSIMD命令がありますけど,あれをもっと大規模化したようなものと思えばよろしいかと.PCの世界では3Dグラフィックスの高速化のために,グラフィックスチップ側にGPUと呼ばれる演算ユニットを導入しているものが数多くありますが,これも3Dグラフィック用途に特化したベクトルプロセッサの一種ですね. ハードウェア的にはデータのまとめアクセスと積和演算の並列処理ですからパイプライン化もしやすくて性能も稼ぎやすいというのは利点でしょうか. もちろん,この「せーの,どん!」できる演算が多くないと宝の持ち腐れになってしまうわけで,いかにしてベクトル演算器に間断なくデータを投入できるかというのが性能を引き出すポイントです. 現在は汎用CPU(スカラー型ですね)が相当高速かつ安価になってきましたので,ベクトルプロセッサで性能を稼ぐよりもこうした汎用プロセッサを大量に並べて並列演算処理させてしまう方がいいんでない?という方向に向いてますね. 仕分けで話題のものもSPARCベースですからやはりスカラー型でしょう.

その他の回答 (3)

回答No.4

 学校で習うBASIC言語に for~next文というのがあります。配列計算する場合に使うわけですが、その繰り返し命令文をひとつひとつの命令に分けて処理すると速く計算できるのが想像できると思います。そのとき、ひとつのプログラムでメモリを計算制御できるように多数のプロセッサをメモリに割当てしたのがベクトル型です。したがって直接一塊りのメモりを操作しています。その計算した結果を元に、次の計算に速やかに移ることができます。地球環境を計算する場合、時間が刻一刻と変化する場合を考えればわかっていただけると思います。  一方、スカラー型はクラスタのように幾つものコンピュータをネットワークでつないだ使い方ですが、接続されたコンピュータから別のコンピュータの一塊りのメモリを自由に使うことはできないという制限があるのです。個々のCPUが設置されたコンピュータに対してのみメモリを制御することができます。ですから、大きな配列を計算する場合は、計算に必要な配列データを取り込まなければなりません。そして計算が終わったならば配列データを元に戻してあげなければなりません。これは口でいうのは簡単なのですが、他のCPUのことも考えなければなりません。その上で、次の計算に移ることを考えれば複雑さは半端ではありません。  時間系列を配慮しない一度切りの計算にはスカラー型が向き、時間系列を配慮して次から次への計算につながるような使い方をする場合はベクトル型が向いているというわけです。概ね、メモリとCPUが連動しているのがベクトル型、メモリとCPUが分離・不連動なのがスカラー型と分離できるでしょう。ソフトウェアから見た使い易さではベクトル型に軍配が上がるように思います。

参考URL:
http://pc.watch.impress.co.jp/docs/news/20090825_310614.html
white-tiger
質問者

お礼

皆様、 おかげさまで非常に良く理解できたと思います。 ありがとうございました。

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

「同じ計算をたくさんのデータに対して行う」, いわゆる SIMD では「スカラ型を複数つなげる」と無駄がでますよね (「同じ計算をする」ことがわかっているなら, デコーダは 1つでいいはず). あと, データをあっちこっちのプロセッサに転送しまくって効率が大暴落する可能性もないわけじゃない. GPGPU とかやりだすと「ベクトル型」といえなくもない.

回答No.1

この辺りを参考に。 http://chikyu-to-umi.com/earth/yo_simu.htm 通常の民生用CPUはスカラ型。 1度に1つの演算しか処理できません。 同時に見えてもタイムシェアリングで同時に見せかけているだけです。 それに対してベクトル型は複数の演算を同時に実行することが出来ます。 >スカラー型を複数つなげたクラスタによる並列計算と変わらないと思うのですが、何か違うがあるのでしょうか? メモリ<=>CPU間と並列CPU間(もしくは並列PC)では速度がまったく違います。 もちろんベクトル型CPUを使用したとしてもクラスタ化などの並列処理は併用するでしょう。 並列処理をもっと根底の部分で行って、もっと高速化しようということでしょうね。

関連するQ&A

  • スパコン予算1100億円(事業仕分け対象) > インテルのCPUの開発費??

    この前、事業仕分けの対象になった「次世代スーパーコンピュータ・プロジェクト」の予算は1100億円だそうですが、これはインテルなどのCPUの開発費と比べてケタ違いに大きいのでしょうか? これが気になった理由ですが・・・ 「NECがスパコンでIntelを選んだ理由」という記事で、現在、世界のスーパーコンピュータのトップ500で、444台がインテルやAMDのCPUを使っていると書いてありました。 http://pc.watch.impress.co.jp/docs/column/hot/20091124_330515.html つまり、インテルのCPUを使った方がコストパフォーマンスが良い、ということだと思います。 しかし、もし、次世代スパコン予算がインテルのCPUの開発費にくらべてケタ違いに大きければ、インテルが作るCPUより遙かに速いコンピュータを作れるかもしれない、と思います。 実際、どうなんでしょうか?

  • クラスターマシンとは?

    近くクラスタマシンのスパコンを使う予定です。 クラスタマシンてなんですか? 複数のサーバからなるというのはいいです。 スパコンは、ベクトル機とスカラ機がありますが、最近の主流はスカラ機です。 多くのノードにわかれ、各ノードはCPUコアと専用キャッシュとノード内での 共有メモリ(と専用メモリ)からなります。各ノードはOSも持っています。 各ノードは他のノードと高速のネットワークでつながっています。特に高速のネットワークで つながっている範囲はスーパーノードなんていうようです。 クラスタマシンもおそらく、各サーバに複数のCPUコアと専用キャッシュ、共有メモリ からなっていて、各サーバは高速のネットワークでつながっていると思われます。 なのでスカラ機は、複数のノードからなるのでクラスタマシンのようにも 思うのですが、どうもスカラ機とクラスタマシンは違うもののようです。 スカラ機でもクラスタマシンでないものもあるのでしょうか。 それはどのようなシステムでしょうか。 複数のノードから構成される、と、複数のサーバから構成される、の違いが よくわかりません。 詳しい方教えてください。

  • スパコンについて

    スパコンのベクトル型は、SIMDとどう違うのでしょうか? 僕が調べた限りではどちらも並列処理を行う方式?と思ったのですが。 それと、なぜ最近のスパコンはベクトル型を採用しないのですか?一見、スカラ型よりベクトル型のほうが効率が良いように思えますし、ベクトル型が流行した当時は効率が良かったから採用したのだと思いますし。 最後にもうひとつ。 「京」がCPUを新しく開発したのは、汎用のCPUでは、帯域が広くクロックが高いバスなどのCPU周辺器に対応しておらず、大規模な並列処理をする際にインターコネクタの遅延に限界がきてしまうからという認識で正しいのでしょうか。汎用CPUを使うなら一つ一つの処理性能が低いので、世界一の処理能力に仕上げるには数を増やすしかないですよね?

  • スパコンとクラスタサーバの定義上の違いは?

    先日、SPARCベーススカラ構成スーパーコンピュータ「京」は、処理速度で世界一位を記録しました。 昨年、x86クラスタサーバを利用した将棋ソフト「あから2010」は、清水市代女流六段を破りました。 個数規模こそ異なれど、たくさんのCPUを並列にたくさんつなぐことについては、スパコン(スカラ型)とクラスタサーバは変わらないというのが私の認識です。 スーパーコンピュータとクラスタサーバの定義上の違いを教えていただけないでしょうか。

  • SQLサーバー用の自作PC

    現在会社でSQLサーバー用のPCがあるのですが、 CPUがAthlon3800で処理速度に限界が来てるので新調する予定です。 そこでCPU、マザー、メモリを変えたいのですが、 SQLの計算に適した構成はどのようになりますでしょうか 複数の計算を同時におこなったりするので 並列処理が優れている構成がいいです。 予算はCPU,マザー,メモリで10万円まで メモリは2G×2枚積むので CPUとマザーで9.3万ぐらいまでになります。 (9.3万ぎりぎりじゃなくても構いません。コストパフォーマンスに優れいているのでは5万ぐらいでも) ちなみにHD,電源,箱は現状のまま使い、OSも今のを使います。 OSはXP pro、HDは6個つなげています。電源は鎌力の確か500Wだったと思います。 モニタからの操作はほとんど行わないのでグラボの性能が優れたマザーである必要はありません。 よろしくお願いします。

  • グラフィックデザインやCAD図面、3DCGで、どんなCPUが良いでしょうか?

    PCを組み立てたいのですが、CPUの選択で悩んでいます。ご助言をお願い致します。 使用の用途は、 ・アドビイラストレータCS3やフォトショップCS3で、ポスター等のグラフィックデザイン ・Vector worksによる2D図面作成 ・3Dソフト(formZか3Dmaxを予定)による建築や地形等のモデル作成とレンダリングです。 おそらくintel i7の使用が良いのでしょうが、一部のうわさによると、上記のアプリだと、CPUの性能はそれほど関係ないとも聞きました(ホントか嘘かわかりません)。 ですので、処理速度が速くて、且つコストパフォーマンス的に、どのCPUを選択すべきかご助言願います。 一応、PCの他の構成で考えているのは OS:windowsXP 32bit(64bitOSに対応していないアプリも使用する為) メモリ:4GB グラフィックボード:navidia Quadoro FX380(かFX580) 以上 どうぞよろしくお願い致します。

  • php+mysqlのサーバを作ろうと思うのですがシングルコアで十分でしょうか?

    にわか知識しかないので、詳しくわからないのですが質問させていただきます。 phpはシングルスレッドでしか動作しないのでApacheもシングルスレッドで動作させようと思います。データベースにMysqlを使います。 プログラムは掲示板とDBを使用したアクセスカウンターの様な物を動かそうと思っています。 このようなサーバの場合、今流行のデュアルコアCPUというのは価格の割に性能を発揮できないのでしょうか? シングルスレッドに合わせてシングルコアのCPUの方がいいのでしょうか? シングルコアの方が価格がやすいので、シングルコアで2台のクラスタ構成にした方が処理能力が上がったりしないかな? とも考えています。 ベンチマークをみてもサーバで使用した場合のベンチマークが無いのでいまいち掴めません。 コストパフォーマンスが良いPCを作るとしたらシングルとデュアルどちらがいいのでしょうか? ご存じの方いましたらよろしくお願いします。

  • GIMPSに参加し始めたのですが

    最近GIMSPに参加するようになり、Prime95でひたすら計算させています。 実行しているPCはCore2Duoを搭載しているのですが、実行している最中にちょっと気になったのでタスクマネージャーを起動し、パフォーマンスのタブを開いてみると、片方のコアしか稼動していませんでした。 どうやらPrime95は並列化されていないようです。 しかし、せっかくのデュアルコア。PCの前から離れたときなどは二つのコアをフル活用してほしい。しかし、単にプログラムをコピーして実行しただけでは、二つのプログラムが全然違う数値に対して計算をしているようでした。 できれば、一つの計算値に対して二つのコアで計算してほしいと思っています。インターネットでGIMPS参加している人のページを見ていて、チームを組んで複数のPCで計算している人もいるのを知り、同じことを一台のPCできないものかと思いました。 できないなら仕方ないですが、他のデュアルコアCPUをフルに活用する方法を教えてください。 また、このプログラムで演算を高速にするためには、Core2やPhenomなどのマルチコアCPUよりも、Pentium4などのクロック周波数が非常に高いもののほうが有利なんでしょうか?あわせて教えてください。 よろしくお願いします。

  • ビジネスパソコンに最適なパーツの組み合わせ

    詳しい方教えてください お願いします 早急に仕事で使っているパソコンを入れ替える必要があります 自作でパーツを組み合わせて長く使いたいのですが、以前に組み立てたのが 5年以上前で最近の動向はさっぱりわかりません 詳しい方にパーツのアドバイスを いただきたいです 希望は 使用ソフトはアクセスをはじめほとんどがオフィスソフト 画面は2画面 一つは横 一つは縦(モニターは既に持っています) 動画などは一切見ません パーツの信頼性を重視したいです 個別についてですが ケースは大きくても省スペース型でも可 1万円以内 CPUはオフィスソフトが複数同時に広げて快適に4~5年は使えて あとはコストパフォーマンス重視 ビデオカードは不要です 電源は1万円前後くらいまでで信頼性耐久性に優れた物 HDは2テラくらいでスピードより信頼性 マザーボードは2万円まででやはり信頼のおける品質の良い物 SSD  WINの起動と2~3の使用頻度の高いオフィスソフトをSSDにいれようとおもっています それにあう容量のお勧め品 まとめとしては使用目的はオフィスソフトに限るシンプルな物です それにあった 過不足のない今後4~5年は快適に使えて、パーツの質がよいもので コストパフォーマンスのよいパソコンをくみたいです 雑誌を見ても動画、ゲーム目的にあう記事ばかりで 参考になりません 冗長な記述で申し訳ありませんがアドバイスよろしくお願い申し上げます ケース

  • SiS651(AGP 4x)に増設する「それなり」のビデオカード

     SiS651 搭載機(AGP 4x)に増設する,「それなり」のビデオカードを推薦してください。  価格は,  - 1 万円台,高くて 2 万円程度 でおすすめくださると幸いです。ゲームをバリバリやることはしませんが,  - 広い画面を使う可能性  - DirectX を使用する可能性 があります。まさかこの価格帯ではないとは思いますが,複数スロットを占有するものは避けたいと思っています。  必須ではありませんが,  - できれば 2 画面出力  - できれば音の静かなもの が希望です。  自分で判断がつきかねてしまう理由は,  - AGP 8x 専用を誤って購入してしまうかもしれない  - 細かい性能の違いが見極めきれない  - コストパフォーマンスが判断できるほど目が肥えていない ためです。この観点をコメントしてご助言くださると,心強く思います。  その他の,必要そうな性能情報は,  - CPU:2.50 GHz Celeron  - RAM:768 メガバイト  - OS:Windows XP Professional SP2 適用済み  - フルサイズの AGP カード増設可 といったところです。  以上,ご回答をお待ちします。