[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dennou-ruby:000074] Re: gtrb & multi-D array



中島です。

沼口>昔のベクトル計算機を使っているみたい...

ごとけん> 昔のVPって(いまでも?? > 中島さん)そんなことしてたですか。うーむ。

「してた」っていうか、コードを手でそう書いてあげる、と。

もちろんほっといても当然、コンパイルも実行もしてくれます。
しかし、最内側のループ(ここが「ベクトル化」の対象になる)からは
極力 if 文を排除するのが高速化のポイントです。

(1) if の正否で分類してループを二つに再構成
(2) それらのループ(分ける前より短くなった:短いループは
     ベクトル計算の敵)を実行

の二つのオーバーヘッドでもって、遅くなります。

-- 
 中島健介@九州大学 大学院理学研究科 地球惑星科学専攻 
           流体圏科学大講座  地球流体力学
 〒812-8581 福岡市 東区 箱崎 6-10-1
 ken-suke@xxxxxx
 Tel   : 092-642-2682    fax : 092-642-2685