by
Anonymous Coward
on 2009年07月20日 23時06分
(#1608065)
端的にいってしまえば違います。そこまで自動並列化はまだ頭よくありません。でも、ものによるってのも真実で、アルゴリズム的に並列度が100%な単なるループが大量にあるコードだったら自動並列化(自動ベクトル化)でかなりうまくいきます。でも、間接参照 (i でループしているときに x[i] ではなく x[y[i]] みたいなもの)させるとそれだけで自動ベクトル化はしてくれません。その場合は y の内容に重複がありませんとコンパイラに明示的に教えないといけないし、そうでない場合は当然ベクトル化はできない。そういう判断がコンパイラにはまだできない。
これって (スコア:0)
Re: (スコア:0)
Re: (スコア:0)
すまん、いや、あんたじゃないのはわかってるんだけど、
これ
http://srad.jp/comments.pl?sid=458222&cid=1602400 [srad.jp]
みると
>・ハード屋から見ると地球シミュレータは普通に書いたソースがベクトル化コンパイラ通すだけで(チューニングに大変な苦労をしなくても)高速で動く凄いコンピュータなのに,
とあるんで信じてたんだけど違うの?
まあ、ものによる、っていうのはわかるんだけど、ベクトル型はMPIみたいに特に意識しなくていいのかなーと思ってたんだけど
Re:これって (スコア:5, 興味深い)
端的にいってしまえば違います。そこまで自動並列化はまだ頭よくありません。でも、ものによるってのも真実で、アルゴリズム的に並列度が100%な単なるループが大量にあるコードだったら自動並列化(自動ベクトル化)でかなりうまくいきます。でも、間接参照 (i でループしているときに x[i] ではなく x[y[i]] みたいなもの)させるとそれだけで自動ベクトル化はしてくれません。その場合は y の内容に重複がありませんとコンパイラに明示的に教えないといけないし、そうでない場合は当然ベクトル化はできない。そういう判断がコンパイラにはまだできない。
ベクトル型であってもMPIは併用します。ベクトルチップ1個では足りませんので。なのでベクトル化とMPIによる並列化はちょっと次元の違う話ですね。
ただFX1は圧倒的に多ノードでの性能が高いので、ベクトル機用のコードもほとんど何もしないで、そこそこはやく動くんではないかと思います。
NEC&日立撤退で一番悲惨なのはベクトル用のコードとそのノウハウを持って次世代スパコン用にソフトウェアの研究開発のためにプロジェクトに参加した人ですね。地球シミュレータとかを使わせてもられるように交渉するんだろうけど、あれを遥かに上回る性能を前提に研究開発してるのに、あるいはそれを前提に研究させられているのに実機がないのだものね。
Re: (スコア:0)
HPF参上!
およびでない? およびでない? こりゃまた失礼いたしました!
Re: (スコア:0)