CPUの種類の一つに「ベクトル型」がありますが、ベクトル型は行列計算に特化したCPUと言ってもいいのでしょうか?それとも行列計算が得意だと言うだけで別の用途にもよく使用されるのでしょうか?流体解析などの複雑な大規模計算をするときによく使われているとは思うのですが。みなさんのご意見をお聞かせください。

回答の条件
  • URL必須
  • 1人3回まで
  • 登録:2008/12/17 07:30:24
  • 終了:2008/12/24 07:35:02

回答(2件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012008/12/17 09:43:20

ポイント35pt

http://www.nec.co.jp/press/ja/0710/2501.html

 ↑ こんな高価な物、よほどの予定が無い限りは導入しないでしょう。


例えて言うならば

・ベクトル型:フォーミュラーカー(F1などのレース専用車)

・スカラー型:市販車改造型レースカー

というように分けてみれば想像しやすいのではないかと思いますが、どうでしょう?

id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/12/17 10:37:54

ポイント35pt

ベクトル型は行列計算に特化したCPUと言ってもいいのでしょうか?

いいえ。


まず、ベクトル型の対義語である「スカラー型」を考えます。

スカラー型とは、1つの数値で示される定数や変数のこと――すなわち、整数、浮動小数、文字列の定数や変数を指します。

これに対してベクトル型は、「1つ」ではなく「複数の」数値で示される定数や変数――つまり「配列」を指します。


配列と行列は同じものでは、と思われるかもしれませんが、少し違います。

たとえば、100個の要素からなる配列 arr に入っている値の各々に 1 を加算するという処理を行う場合、スカラー演算では

for (i=0; i<100; i++) {
    arr(i) = arr(i) + 1;
}

のように、逐次処理します。

一方、ベクトル演算では、配列をあたかも1つの変数であるかのように扱えるので、次のように一気に加算することができます。

arr(i) = arr(i) + 1; i=0 to i=99

これを実現するために、ベクトル型コンピュータには多数の演算装置が搭載されています。配列のように、複数の値に対して何らかの演算を行わせるのは得意です。

しかし、1つ(または数少ない変数)に対して繰り返し演算を行うような処理では、構造が単純なスカラー型コンピュータの方が早く処理ができます。


それとも行列計算が得意だと言うだけで別の用途にもよく使用されるのでしょうか?

配列に対する演算が得意なので、その延長線上にある行列演算は得意なものの1つということです。

地球シミュレータのように、地球上を数百万カ所のエリア(メッシュ)に分け、これを配列のようにして演算するのに向いています。

また、3DCGのように、無数のポリゴンの計算を行うのも得意です。この意味で最近のGPUは明らかにベクトル型コンピュータであり、東工大ではGPUを並列させたスパコンTSUBAMEを完成させました。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません