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

[dennou-ruby:003754] Re: 大規模データ



西澤さん

竹広です. 情報ありがとうございます. 
これでちょっと試してみたいと思います.

ML のアーカイブはちゃんと存在していますが, 
公開領域へのリンクが張られていなかったので
やっておきました. これで検索してちゃんと
見ることができました. 

さらに, 

  http://www.gfd-dennou.org/arch/ruby/index-j.htm

には「2013 年ログ」までしかエントリーがないので「2014 年ログ」を
作っておいて頂けるとありがたいです. これは堀之内さんかな?

                    Takepiro(竹広真一)@数理解析研究所. 京都大学
                      	E-mail:takepiro@xxxxxxxxxxxxxx
			       takepiro@xxxxxxxxxxxxxxxxxxxx



At Thu, 30 Oct 2014 09:52:16 +0900,
Seiya Nishizawa wrote:
> 
> 竹広様
> 
> 3/18 日に 本MLに送った
> narray-bigmem (narray plus over 2GB memory handling and thread
> parallel processing)
> というメールにあるように、2GB越え用の narray があります。
> https://github.com/seiya/narray-bigmem
> これを使うために、上記メールに添付されているパッチが必要です。
> あと、東大の高麗さんから以下の変更が必要との指摘もいただいています。
> 
> # gmail でおくると送られてきたメールが見えないので、スレッド番号が分かりません。すいません。
> # あと、 dennou-ruby ML の web アーカイブが 2014 はつくられていないんですね。
> 
> 
> ---  高麗さんのメールここから (勝手に転記してすいません > 高麗様)
> ○ ruby-netcdf-*.*.*/lib/netcdf.rb と ruby-dcl-*.*.*/lib/dcl.rb
> 頭の部分で NArray か NArray-bigmem かを判定している箇所がありますが、
> 例:NArray.constants.include?("SUPPORT_BIGMEM")
> Ruby-1.9以上では、メソッド名がシンボルになっており、
> 上手く動作しませんでした。
> 
> NArray.constants.include?("SUPPORT_BIGMEM")
> を
> NArray.constants.map{|t|t.to_s}.include?("SUPPORT_BIGMEM")
> として回避しました。
> 
> # あと、場合分けを行って、エラーメッセージが出るようになっていますが、
> # 順番が逆のような気がします
> 
> ○ ruby-dcl で NumRu::DCL::SUPPORT_BIGMEM が定義されていない
> ruby-netcdfのパッチでは、同様のものが定義されていたので、
> それを参考に、init.c.default 内で定義しました。
> 
> --- /home/kohmasa/usr/src/ruby-dcl-1.7.0/init.c.default
> +++ /home/kohmasa/usr/src/ruby-dcl-1.7.0_bigmem/init.c.default
> @@ -1,6 +1,7 @@
>  #include <stdio.h>
>  #include "ruby.h"
>  #include "libtinyf2c.h"
> +#include "narray.h"
> 
>  /* for compatibility with ruby 1.6 */
>  #ifndef RARRAY_PTR
> @@ -124,6 +125,12 @@
>      mDCL = rb_define_module_under(mNumRu, "DCL");
>      rb_define_const(mDCL, "DCLVERSION", rb_str_new2(DCLVersion));
> 
> +#ifdef NARRAY_BIGMEM
> +    rb_define_const(mDCL, "SUPPORT_BIGMEM", Qtrue);
> +#else
> +    rb_define_const(mDCL, "SUPPORT_BIGMEM", Qfalse);
> +#endif
> +
>      init_grph1_csgi(mDCL);
>      init_grph1_scpack(mDCL);
>      init_grph1_sgpack(mDCL);
> 
> 以上です。
> --- 高麗さんのメールここまで
> 
> 
> 西澤誠也
> 
> 2014年10月30日 6:54 Shin-ichi Takehiro <takepiro@xxxxxxxxxxxxxx>:
> > 竹広です.
> >
> > 諸事情で倍精度 1024^3 程度の大きさのデータを扱わねば
> > ならなくなりました. 当然ながら読み込んだ配列は
> > GPhys/NArray の 2GB の限界を越えてしまい, 何かしら
> > ロードするタイミングでエラーが出てしまいます.
> >
> > 2 GB っていまどきデータ解析としては厳しいような気がしますが,
> > 皆さんどう対処されているのでしょう? チュートリアルに出ていた
> > 座標変数をループで回して, といったことはあまりやりたくないです.
> > 識者のご意見お聞かせ下さい.
> >
> >                     Takepiro(竹広真一)@数理解析研究所. 京都大学
> >                         E-mail:takepiro@xxxxxxxxxxxxxx
> >                                takepiro@xxxxxxxxxxxxxxxxxxxx
> >
> >
> >
> 
> 
> 
> -- 
> Seiya Nishizawa
> RIKEN Advanced Institute for Computational Science
> Tel: +81-78-940-5754, Fax: +81-78-304-4972
> 7-1-26, Minatojima-minami-machi, Chuo-ku, Kobe, Hyogo 650-0047, Japan
> 
>