Rubyは気象モデルで使えるHPCを実現できるか

matz が ruby の未来は HPC にありなどと煽るので、数値天気予報に使えるようにするにはどうしたらいいか少し考えました。
ruby 気象
e_toyoda 2071view 0コメント
4
ログインして広告を非表示にする
  • TOYODA Eizi @e_toyoda 2011-09-09 10:30:44
    フロンティアは組み込みとHPCだという。HPCの話あるのかな / 「キャズムを超えたRubyはなくならない」---軽量版を開発中のまつもとゆきひろ氏 - ニュース:ITpro http://t.co/VF3yKFy
  • はせがわ @m7621 2011-09-09 12:47:37
    ソレは我々自身への問い RT @e_toyoda: フロンティアは組み込みとHPCだという。HPCの話あるのかな / 「キャズムを超えたRubyはなくならない」---軽量版を開発中のまつもとゆきひろ氏 - ニュース:ITpro http://t.co/D47vhcw
  • TOYODA Eizi @e_toyoda 2011-09-09 12:52:37
    そうです。ものすごいチャンスが転がってきたということです。 RT: @m7621: ソレは我々自身への問い RT @e_toyoda: フロンティアは組み込みとHPCだという。HPCの話あるのかな http://t.co/VF3yKFy
  • TOYODA Eizi @e_toyoda 2011-09-09 12:58:46
    たとえばNArrayありますね。あれ中をOMPしたらすぐノード内速くなりますね。分散メモリだったら分散NArray作ればいいですね。もう間違いなくすごい速く足し算とスカラ倍できますね。だけどそれじゃ数値予報はできませんね。なんでか。
  • TOYODA Eizi @e_toyoda 2011-09-09 13:03:02
    GSMの計算時間の何割かがルジャンドル変換といわれます。それはNArrayじゃ書けないけれど、NArrayにfftwが付属するように誰かさんのガリガリチューニングのルジャンドルをつけたらいいですね。NArrayインNArrayアウトのメソッドが数個追加されるだけのことです。
  • Youhei SASAKI @uwabami 2011-09-09 13:06:24
    |д゚)@seiya_ni RT @e_toyoda: GSMの計算時間の何割かがルジャンドル変換といわれます。それはNArrayじゃ書けないけれど、NArrayにfftwが付属するように誰かさんのガリガリチューニングのルジャ(cont) http://t.co/TIBFJ0M
  • TOYODA Eizi @e_toyoda 2011-09-09 13:08:00
    残るは、ルジャンドル変換や配列演算式ほど定型化できないものですが、それを99%とかとことんやっつけないとアムダールの法則でコテンパンにやられるわけです。どうしたらいいか。
  • TOYODA Eizi @e_toyoda 2011-09-09 13:11:57
    そこでクロージャを持つ言語の強みが出てきて、分散してるかもしれない配列オブジェクトに対してメソッドを投げて分散させる、その分散化を配列の任務ととらえることが考えられるわけですね。もちろんクロージャがスレッドセーフにならなきゃいけないし、
  • TOYODA Eizi @e_toyoda 2011-09-09 13:14:05
    場合によったらJITでネーティブコードをコンパイルしないとダメかもしれない。でも、Rubyも今やバイトコードとか言ってるわけですから、そのくらいその筋の人ならすぐにできると思うんですよ。で、matz が興味をもってるなんてチャンスに乗らない手はないと。
  • TOYODA Eizi @e_toyoda 2011-09-09 13:16:10
    ま、Array#map のダサい版で、C の関数をString で渡すと JIT コンパイルして要素のポインタ渡して呼び出すとかで速度測ってみたらいいかもしれない。ただ、数値予報モデルと言うのは、M1の学生がそうやって遊んでみるにはちょっとデカいんですよね。
  • TOYODA Eizi @e_toyoda 2011-09-09 13:17:04
    そのくらい誰でも考えると思うんだけど、つまんなかったですか? @uwabami @seiya_ni
  • 西澤誠也 @seiya_ni 2011-09-09 13:33:26
    @e_toyoda ちょっと話はそれますが、先日, HPC Ruby (生Ruby が C+gcc とほぼ変わらない速度がでている) の中村さんと話をしたところ、将来的にはJITコンパイルや並列化も考えているそうです。
  • TOYODA Eizi @e_toyoda 2011-09-09 14:09:17
    @seiya_ni 並列化は将来ですか。うーむ。ググると静的解析でオブジェクトの型決定するとか、VALUE が64ビットになるからintの代わりにdoubleを即値で持つというのをやったみたいですが、まだ我々のリアル問題に効果が出るには、ちょっとフロンティアが広いですねえ。
  • 西澤誠也 @seiya_ni 2011-09-09 14:17:02
    @e_toyoda おっしゃるように、目的がはっきりしているので、汎用性を気にしなければ NArray 改造や並列化で速度を出すのはそう難しくなさそうですね。
  • Youhei SASAKI @uwabami 2011-09-09 16:36:00
    @e_toyoda @seiya_ni つまんなくないです!オモシロソウ。
  • Youhei SASAKI @uwabami 2011-09-10 01:43:23
    問題全くないっす。 QT @e_toyoda: @e_toyoda @m7621 @seiya_ni @uwabami つぶやきを使わせていただきました。問題ありましたら対応しますのでご連絡ください。 http://t.co/D0Ie8S2
  • Youhei SASAKI @uwabami 2011-09-10 02:25:58
    @yukihiro_matz @e_toyoda @m7621 @seiya_ni 楽しいネタは沢山有りそうな訳で。

コメント

カテゴリーからまとめを探す

「レシピ」に関連するカテゴリー