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

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



堀之内です。

> う, それは残念. GPhys でないと使いにくいなぁ. 

ですよね。善処したいと思います。しかし,その前に..
ということで以下は西澤さんへのお願いです。

> 西澤さんメールにあるように 3 月の ML へのメールへ添付されているだけで, 
> 対応版としてはおいていないのでは? 

だんだん思い出してきました。

https://github.com/seiya/narray-bigmem/blob/master/narray.h
を見ると,

88 /* shape type */ 
89 #if SIZEOF_VOIDP == 4 
90 typedef int32_t na_shape_t; 
91 #elif SIZEOF_VOIDP == 8 
92 typedef int64_t na_shape_t; 

となってます。2013年7-8月に個人メール(subject: over 2GB array for 
NArray) で議論させてもらった型に関する注文をちゃんと
取り込んでくれてますね(ありがとうございました)。しかし,
[dennou-ruby:003705] narray-bigmem に添付してくれたパッチは

+/* for compatibility for NArray and NArray with big memory patch */
+#ifdef NARRAY_BIGMEM
+typedef size_t shape_t;
+#else
+typedef int    shape_t;
+#endif

と,不整合です(以前のが残ってしまってる)。
すみませんが,narray_bigmem に合うように
(高麗さんご指摘の件も含め)作り直して貰えると有り難いですが,
お願いできるでしょうか。


> 竹広です. 
> 
> > 堀之内です。
> > 
> > すみません,GPhys の中の拡張ライブラリ(補間とか)は
> > まだ対応してません。
> 
> う, それは残念. GPhys でないと使いにくいなぁ. 
> 
> > というか,ruby-netcdf 等も bigmem 対応は取り込まれてない
> > と思うのですが,対応版はどこにあるんですか? > 西澤さま。
> > (本家レポジトリに取り込んで貰えると嬉しい。)
> 
> 西澤さんメールにあるように 3 月の ML へのメールへ添付されているだけで, 
> 対応版としてはおいていないのでは? 
> 
>                     Takepiro(竹広真一)@数理解析研究所. 京都大学
>                       	E-mail:takepiro@xxxxxxxxxxxxxx
> 			       takepiro@xxxxxxxxxxxxxxxxxxxx
> 
> 
>  
> > > 竹広です. 
> > > 
> > > もしかして gphys もコンパイルしなおす必要有ですか?
> > > 試したけどコンパイルエラー出てしまいます. 
> > > 
> > > #そこまで対応していない?
> > > 
> > >                     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
> > > > 
> > > > 
> > 
> > 堀之内 武
> > 北海道大学 地球環境科学研究院 地球圏科学部門
> > 〒060-0810 札幌市北区北10条西5丁目
> > 
> > 

堀之内 武
北海道大学 地球環境科学研究院 地球圏科学部門
〒060-0810 札幌市北区北10条西5丁目