Conference Room SAD
[thread display] [new arrival display] [word search] [past log] [管理用]

Subject Re^5: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Date: 2012/12/18(Tue) 15:24:49
ContributorM. Satoh < >


 ありがとうございました。
残念ながら,下記の通り同じエラーが出ました。

<12-12-18(Tue) 15:23:07><-tcsh-></usr/users/masanori/src/sad/oldsad/><masanori@vera>sadm
*** Welcome to SAD Ver.1.0.10.6.4.12k64 built at 2012-12-18 15:11:39 +0900 ***
*** Today: 15:23:08 Tuesday 12/18/2012 ***
cpu time= 3.7993E-02(sec) dt= 37.993(msec) free area:: 1794
ffs;
italoc memory allocation error 5896394756810

以上,宜しくお願い申し上げます。

佐藤




> 佐藤様、
>
>  いまcheckinした版ではitalicでktalocの代わりにmapalloc8を使うようにしました。効果があるかどうか見てもらえませんか?
>
>   生出
>
>
>
> >  生出先生,
> >
> >  情報ありがとうございました。
> > 全てのマシンのカーネルパラメータを調整をするのはしんどいので,コードの改変を待とうかと思います。
> >
> > 佐藤
> >
> >
> > > 現状、SADインタープリータ用内部stack pointerを32 bitとしている関係でktaloc(64 bit)でなくitaloc(32 bit)を残しているところがあります。なんとかしなければなりません。
> > >
> > >
> > > > >  皆様,
> > > > >
> > > > >  お世話になっております。佐藤@入射器です。
> > > > > どなたか,Linux環境下においてk64-1-6系のBuildiに成功した方はいらっしゃいますでしょうか?
> > > > >
> > > > >  CentOS5.8(x86_64, gcc 4.7.2)にて,1.0.10.6.4.7k64のmakeは出来たのですが,実行すると下記のエラーが出ます。
> > > > > (Ver.1.0.10.5.5a43は問題なく動作するのですが。)
> > > > >  sad.confで指定するオプションを,いろいろと(生出さんや森田さんのもの)試してみましたが,同じ結果でした。(gccも,4.3.3, 4.3.4, 4.5.1などを試しました)
> > > > >
> > > > > <12-12-06(Thu) 21:31:24><-tcsh-></usr/users/masanori/src/sad/oldsad/src/><masanori@vera>sadm
> > > > > *** Welcome to SAD Ver.1.0.10.6.4.7k64 built at 2012-12-06 14:15:56 +0900 ***
> > > > > *** Today: 21:33:28 Thursday 12/06/2012 ***
> > > > > cpu time= 3.8993E-02(sec) dt= 38.993(msec) free area:: 1794
> > > > > ffs;
> > > > > italoc memory allocation error 5993238088291
> > > > >
> > > > 震源地は、src/italoc.fの
> > > > integer*4 function italoc(n)
> > > > use tfstk
> > > > implicit none
> > > > integer*4 n
> > > > integer*8 ktaloc,ix
> > > > ix=ktaloc(n)
> > > > if(ix .ge. 2**31 .or. ix .le. 0)then
> > > > write(*,*)'italoc memory allocation error ',ix
> > > > stop
> > > > endif
> > > > italoc=int(ix)
> > > > return
> > > > end
> > > > です
> > > > 内容としては、ktaloc()が割り当てたメモリブロックのインデックス(rlist(0)から real*8単位で数えたアドレス)が
> > > > 2^31に収まるかどうかを調べてるので…
> > > >
> > > > Solution 1.
> > > > italoc() APIのアドレス域を拡張する
> > > >
> > > > Solution 2.
> > > > カーネルから貰うヒープ領域のアドレス域を制限する
> > > >
> > > > Solution 3.
> > > > 諦めて IA-32で実行する
> > > >
> > > > 辺りの対処が必要と思われます
> > > >
> > > > * afsadに関しては、カーネルパラメータを操作して (2)を実現しています
> > > > * amorita branch on Linuxでは、mallocの代わりにオプション付き mmapで (2)を実現


- 関連一覧ツリー (Click ▼ to display all articles in a thread.)