[Go to BBS]
All articles in a thread
SubjectBuild 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1071
Date: 2012/12/06(Thu) 21:38:20
ContributorM. Satoh < >
 皆様,

 お世話になっております。佐藤@入射器です。
どなたか,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



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

佐藤

SubjectRe: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1072
Date: 2012/12/07(Fri) 15:22:33
ContributorAkio Morita
>  皆様,
>
>  お世話になっております。佐藤@入射器です。
> どなたか,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)を実現

SubjectRe^2: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1073
Date: 2012/12/07(Fri) 20:54:46
ContributorM. Satoh < >

 貴重な情報,ありがとうございました。

佐藤

SubjectRe^2: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1074
Date: 2012/12/17(Mon) 16:18:32
ContributorK. Oide
現状、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)を実現

SubjectRe^3: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1075
Date: 2012/12/17(Mon) 22:03:10
ContributorM. Satoh < >
 生出先生,

 情報ありがとうございました。
全てのマシンのカーネルパラメータを調整をするのはしんどいので,コードの改変を待とうかと思います。

佐藤


> 現状、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)を実現

SubjectRe^4: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1076
Date: 2012/12/18(Tue) 12:42:49
ContributorK. Oide
佐藤様、

 いま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)を実現

SubjectRe^5: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1077
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)を実現

SubjectRe^6: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1078
Date: 2012/12/19(Wed) 07:40:25
ContributorK. Oide
佐藤様、

 FORTRANのALLOCATEを使ったものをcheckinしてあります。お試しください。
 前にSADの内部stackの問題だと書きましたが、そうではなくて、MAIN levelが32bitになっていることの方がより問題です。MAIN levelを頻繁に操作する(USEを多用するなど)場合にはいずれ問題が発生します。

  生出

>
>  ありがとうございました。
> 残念ながら,下記の通り同じエラーが出ました。
>
> <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)を実現

SubjectRe^7: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1081
Date: 2012/12/19(Wed) 21:06:39
ContributorM. Satoh < >
生出様,

 下記の件,ありがとうございました。
少し進展いたしまして,サンプルスクリプトのbench.sad, bench2.sadは正常に動作しました。
しかし,bench-IO.sadは下記の様なエラーが出ました。

-------------
SAD I/O Benchmark
Test Vector Length: 1048576
???General::wrongtype: Argument must be String in MkSecureTemp$[If[StringQ[],Null,If[dir$4<=>{},dir$4[[1,2]],
Environment["TMPDIR"]/.""->"/tmp"]//"/"//If[prefix$4<=>{},prefix$4[[1,2]],"mkstemp"]//".XXXXXXXXXX"],""]
... in Module[{prefix,suffix,dir},
{prefix,suffix,dir}=SwitchCases[Join[{},{}],{Prefix->_String,Suffix->_String,
Directory->_String}];
...
... in MkSecureTemp[]
... in Module[{temp,fp,d,tStart,i,t0,dt},
temp=MkSecureTemp[];If[temp===$Failed,Return[$Failed]];d=TestVector;
tStart=FromDate[];
...
... in RealListWriteBenchmark[]
... in Benchmark[]

! End of File
-------------


 また,amida.sadは,下記の様なエラーが出ました。Tkinterを用いたスクリプトは,途中でエラーが出るようです。
 ただし,install前の"srcディレクトリ"/bin の配下にできるgsを使うと正常に動作します(bench-IO.sadなど他のサンプルスクリプトも)。私の設定がおかしいのかもしれませんので,もう少し調べてみます。

------------------
???General::wrongtype: Argument must be List, Rule, Symbol, String, Real in Override[`Class`Prepend[{},{AllMembers,AllParents,
Class,Destructor$,Members,Options,Parents,Print,Short}]]
... in With[{`Class`allmember=
Override[Flatten[`Class`MemberSymbol/@`Class`Family[`Object`]]],
`Class`allv=Override[Flatten[`Class`VarSymbol/@`Class`Family[`Object`]]]},
...
... in With[{`Class`c$3},
`Class`instm$3=({`Class`a}&`Class`ExtractVar[`Class`c$3,`Class`a])/@
Hold[Options={}];
...
... in Module[{`Class`heldmethods=
Hold/@Hold[With[{c=Literal[Class][First[This]]},
Class[]:=c;Members[]:=`Class`MemberSymbol[c];
...
???General::wrongtype: Argument must be List, Rule, Symbol, String, Real in Override[Class`Prepend[{},{Amida`at,Amida`bgoing,
Amida`bsetgo,Amida`c,Amida`ch,Amida`cw,Amida`CheckSeparation,Amida`Constructor,Amida`dx,Amida`dy,Amida`DrawLadder,Amida`enl,
------------------




> 佐藤様、
>
>  FORTRANのALLOCATEを使ったものをcheckinしてあります。お試しください。
>  前にSADの内部stackの問題だと書きましたが、そうではなくて、MAIN levelが32bitになっていることの方がより問題です。MAIN levelを頻繁に操作する(USEを多用するなど)場合にはいずれ問題が発生します。
>
>   生出
>
> >
> >  ありがとうございました。
> > 残念ながら,下記の通り同じエラーが出ました。
> >
> > <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)を実現

SubjectRe^8: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1082
Date: 2012/12/20(Thu) 08:25:34
ContributorK. Oide
佐藤様、

 ありがとうございます。
 いまcheckinされているものは少なくともshared memoryがダメなので、改訂作業中です。ご指摘の問題も調査します。

  生出

> 生出様,
>
>  下記の件,ありがとうございました。
> 少し進展いたしまして,サンプルスクリプトのbench.sad, bench2.sadは正常に動作しました。
> しかし,bench-IO.sadは下記の様なエラーが出ました。
>
> -------------
> SAD I/O Benchmark
> Test Vector Length: 1048576
> ???General::wrongtype: Argument must be String in MkSecureTemp$[If[StringQ[],Null,If[dir$4<=>{},dir$4[[1,2]],
> Environment["TMPDIR"]/.""->"/tmp"]//"/"//If[prefix$4<=>{},prefix$4[[1,2]],"mkstemp"]//".XXXXXXXXXX"],""]
> ... in Module[{prefix,suffix,dir},
> {prefix,suffix,dir}=SwitchCases[Join[{},{}],{Prefix->_String,Suffix->_String,
> Directory->_String}];
> ...
> ... in MkSecureTemp[]
> ... in Module[{temp,fp,d,tStart,i,t0,dt},
> temp=MkSecureTemp[];If[temp===$Failed,Return[$Failed]];d=TestVector;
> tStart=FromDate[];
> ...
> ... in RealListWriteBenchmark[]
> ... in Benchmark[]
>
> ! End of File
> -------------
>
>
>  また,amida.sadは,下記の様なエラーが出ました。Tkinterを用いたスクリプトは,途中でエラーが出るようです。
>  ただし,install前の"srcディレクトリ"/bin の配下にできるgsを使うと正常に動作します(bench-IO.sadなど他のサンプルスクリプトも)。私の設定がおかしいのかもしれませんので,もう少し調べてみます。
>
> ------------------
> ???General::wrongtype: Argument must be List, Rule, Symbol, String, Real in Override[`Class`Prepend[{},{AllMembers,AllParents,
> Class,Destructor$,Members,Options,Parents,Print,Short}]]
> ... in With[{`Class`allmember=
> Override[Flatten[`Class`MemberSymbol/@`Class`Family[`Object`]]],
> `Class`allv=Override[Flatten[`Class`VarSymbol/@`Class`Family[`Object`]]]},
> ...
> ... in With[{`Class`c$3},
> `Class`instm$3=({`Class`a}&`Class`ExtractVar[`Class`c$3,`Class`a])/@
> Hold[Options={}];
> ...
> ... in Module[{`Class`heldmethods=
> Hold/@Hold[With[{c=Literal[Class][First[This]]},
> Class[]:=c;Members[]:=`Class`MemberSymbol[c];
> ...
> ???General::wrongtype: Argument must be List, Rule, Symbol, String, Real in Override[Class`Prepend[{},{Amida`at,Amida`bgoing,
> Amida`bsetgo,Amida`c,Amida`ch,Amida`cw,Amida`CheckSeparation,Amida`Constructor,Amida`dx,Amida`dy,Amida`DrawLadder,Amida`enl,
> ------------------
>
>
>
>
> > 佐藤様、
> >
> >  FORTRANのALLOCATEを使ったものをcheckinしてあります。お試しください。
> >  前にSADの内部stackの問題だと書きましたが、そうではなくて、MAIN levelが32bitになっていることの方がより問題です。MAIN levelを頻繁に操作する(USEを多用するなど)場合にはいずれ問題が発生します。
> >
> >   生出
> >
> > >
> > >  ありがとうございました。
> > > 残念ながら,下記の通り同じエラーが出ました。
> > >
> > > <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)を実現

SubjectRe^9: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1084
Date: 2012/12/20(Thu) 12:12:27
ContributorM. Satoh < >
生出様,

 了解致しました,ありがとうございます。
 install前の"srcディレクトリ"/bin の配下にできるgsを使うと正常に動作する件ですが,インストール先のshare/Packages/ 配下に,functions.nがコピーされていなかったことが原因のようです。手動でコピーした後,正常動作を確認できました。その他,CSR.n, SADFormat.py, misc.nもコピーされていませんでした。
 sad.install.mk等に,これらのファイル名が書かれていないことが原因なのでしょうか?

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

佐藤

> 佐藤様、
>
>  ありがとうございます。
>  いまcheckinされているものは少なくともshared memoryがダメなので、改訂作業中です。ご指摘の問題も調査します。
>
>   生出
>
> > 生出様,
> >
> >  下記の件,ありがとうございました。
> > 少し進展いたしまして,サンプルスクリプトのbench.sad, bench2.sadは正常に動作しました。
> > しかし,bench-IO.sadは下記の様なエラーが出ました。
> >
> > -------------
> > SAD I/O Benchmark
> > Test Vector Length: 1048576
> > ???General::wrongtype: Argument must be String in MkSecureTemp$[If[StringQ[],Null,If[dir$4<=>{},dir$4[[1,2]],
> > Environment["TMPDIR"]/.""->"/tmp"]//"/"//If[prefix$4<=>{},prefix$4[[1,2]],"mkstemp"]//".XXXXXXXXXX"],""]
> > ... in Module[{prefix,suffix,dir},
> > {prefix,suffix,dir}=SwitchCases[Join[{},{}],{Prefix->_String,Suffix->_String,
> > Directory->_String}];
> > ...
> > ... in MkSecureTemp[]
> > ... in Module[{temp,fp,d,tStart,i,t0,dt},
> > temp=MkSecureTemp[];If[temp===$Failed,Return[$Failed]];d=TestVector;
> > tStart=FromDate[];
> > ...
> > ... in RealListWriteBenchmark[]
> > ... in Benchmark[]
> >
> > ! End of File
> > -------------
> >
> >
> >  また,amida.sadは,下記の様なエラーが出ました。Tkinterを用いたスクリプトは,途中でエラーが出るようです。
> >  ただし,install前の"srcディレクトリ"/bin の配下にできるgsを使うと正常に動作します(bench-IO.sadなど他のサンプルスクリプトも)。私の設定がおかしいのかもしれませんので,もう少し調べてみます。
> >
> > ------------------
> > ???General::wrongtype: Argument must be List, Rule, Symbol, String, Real in Override[`Class`Prepend[{},{AllMembers,AllParents,
> > Class,Destructor$,Members,Options,Parents,Print,Short}]]
> > ... in With[{`Class`allmember=
> > Override[Flatten[`Class`MemberSymbol/@`Class`Family[`Object`]]],
> > `Class`allv=Override[Flatten[`Class`VarSymbol/@`Class`Family[`Object`]]]},
> > ...
> > ... in With[{`Class`c$3},
> > `Class`instm$3=({`Class`a}&`Class`ExtractVar[`Class`c$3,`Class`a])/@
> > Hold[Options={}];
> > ...
> > ... in Module[{`Class`heldmethods=
> > Hold/@Hold[With[{c=Literal[Class][First[This]]},
> > Class[]:=c;Members[]:=`Class`MemberSymbol[c];
> > ...
> > ???General::wrongtype: Argument must be List, Rule, Symbol, String, Real in Override[Class`Prepend[{},{Amida`at,Amida`bgoing,
> > Amida`bsetgo,Amida`c,Amida`ch,Amida`cw,Amida`CheckSeparation,Amida`Constructor,Amida`dx,Amida`dy,Amida`DrawLadder,Amida`enl,
> > ------------------
> >
> >
> >
> >
> > > 佐藤様、
> > >
> > >  FORTRANのALLOCATEを使ったものをcheckinしてあります。お試しください。
> > >  前にSADの内部stackの問題だと書きましたが、そうではなくて、MAIN levelが32bitになっていることの方がより問題です。MAIN levelを頻繁に操作する(USEを多用するなど)場合にはいずれ問題が発生します。
> > >
> > >   生出
> > >
> > > >
> > > >  ありがとうございました。
> > > > 残念ながら,下記の通り同じエラーが出ました。
> > > >
> > > > <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)を実現

SubjectRe^10: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1086
Date: 2012/12/20(Thu) 13:47:01
ContributorK. Oide
佐藤様、

 cvs checkout で自動的にコピーされるはずですが、不明です。
 待っていれば森田さんが何か言ってくれるのでは?

  生出


> 生出様,
>
>  了解致しました,ありがとうございます。
>  install前の"srcディレクトリ"/bin の配下にできるgsを使うと正常に動作する件ですが,インストール先のshare/Packages/ 配下に,functions.nがコピーされていなかったことが原因のようです。手動でコピーした後,正常動作を確認できました。その他,CSR.n, SADFormat.py, misc.nもコピーされていませんでした。
>  sad.install.mk等に,これらのファイル名が書かれていないことが原因なのでしょうか?
>
> 以上,宜しくお願い申し上げます。
>
> 佐藤
>
> > 佐藤様、
> >
> >  ありがとうございます。
> >  いまcheckinされているものは少なくともshared memoryがダメなので、改訂作業中です。ご指摘の問題も調査します。
> >
> >   生出
> >
> > > 生出様,
> > >
> > >  下記の件,ありがとうございました。
> > > 少し進展いたしまして,サンプルスクリプトのbench.sad, bench2.sadは正常に動作しました。
> > > しかし,bench-IO.sadは下記の様なエラーが出ました。
> > >
> > > -------------
> > > SAD I/O Benchmark
> > > Test Vector Length: 1048576
> > > ???General::wrongtype: Argument must be String in MkSecureTemp$[If[StringQ[],Null,If[dir$4<=>{},dir$4[[1,2]],
> > > Environment["TMPDIR"]/.""->"/tmp"]//"/"//If[prefix$4<=>{},prefix$4[[1,2]],"mkstemp"]//".XXXXXXXXXX"],""]
> > > ... in Module[{prefix,suffix,dir},
> > > {prefix,suffix,dir}=SwitchCases[Join[{},{}],{Prefix->_String,Suffix->_String,
> > > Directory->_String}];
> > > ...
> > > ... in MkSecureTemp[]
> > > ... in Module[{temp,fp,d,tStart,i,t0,dt},
> > > temp=MkSecureTemp[];If[temp===$Failed,Return[$Failed]];d=TestVector;
> > > tStart=FromDate[];
> > > ...
> > > ... in RealListWriteBenchmark[]
> > > ... in Benchmark[]
> > >
> > > ! End of File
> > > -------------
> > >
> > >
> > >  また,amida.sadは,下記の様なエラーが出ました。Tkinterを用いたスクリプトは,途中でエラーが出るようです。
> > >  ただし,install前の"srcディレクトリ"/bin の配下にできるgsを使うと正常に動作します(bench-IO.sadなど他のサンプルスクリプトも)。私の設定がおかしいのかもしれませんので,もう少し調べてみます。
> > >
> > > ------------------
> > > ???General::wrongtype: Argument must be List, Rule, Symbol, String, Real in Override[`Class`Prepend[{},{AllMembers,AllParents,
> > > Class,Destructor$,Members,Options,Parents,Print,Short}]]
> > > ... in With[{`Class`allmember=
> > > Override[Flatten[`Class`MemberSymbol/@`Class`Family[`Object`]]],
> > > `Class`allv=Override[Flatten[`Class`VarSymbol/@`Class`Family[`Object`]]]},
> > > ...
> > > ... in With[{`Class`c$3},
> > > `Class`instm$3=({`Class`a}&`Class`ExtractVar[`Class`c$3,`Class`a])/@
> > > Hold[Options={}];
> > > ...
> > > ... in Module[{`Class`heldmethods=
> > > Hold/@Hold[With[{c=Literal[Class][First[This]]},
> > > Class[]:=c;Members[]:=`Class`MemberSymbol[c];
> > > ...
> > > ???General::wrongtype: Argument must be List, Rule, Symbol, String, Real in Override[Class`Prepend[{},{Amida`at,Amida`bgoing,
> > > Amida`bsetgo,Amida`c,Amida`ch,Amida`cw,Amida`CheckSeparation,Amida`Constructor,Amida`dx,Amida`dy,Amida`DrawLadder,Amida`enl,
> > > ------------------
> > >
> > >
> > >
> > >
> > > > 佐藤様、
> > > >
> > > >  FORTRANのALLOCATEを使ったものをcheckinしてあります。お試しください。
> > > >  前にSADの内部stackの問題だと書きましたが、そうではなくて、MAIN levelが32bitになっていることの方がより問題です。MAIN levelを頻繁に操作する(USEを多用するなど)場合にはいずれ問題が発生します。
> > > >
> > > >   生出
> > > >
> > > > >
> > > > >  ありがとうございました。
> > > > > 残念ながら,下記の通り同じエラーが出ました。
> > > > >
> > > > > <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)を実現

SubjectRe^10: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1088
Date: 2012/12/20(Thu) 16:14:23
ContributorAkio Morita
>  了解致しました,ありがとうございます。
>  install前の"srcディレクトリ"/bin の配下にできるgsを使うと正常に動作する件ですが,インストール先のshare/Packages/ 配下に,functions.nがコピーされていなかったことが原因のようです。手動でコピーした後,正常動作を確認できました。その他,CSR.n, SADFormat.py, misc.nもコピーされていませんでした。
>  sad.install.mk等に,これらのファイル名が書かれていないことが原因なのでしょうか?
>
その通りで、Packages/下にファイル追加時に mk/sad.install.mkが適切に更新されていないことが原因です

あと、misc.nは Attic行きしているはずで HEADや k64-1-6 branchの構成ファイルには含まれないはずなのですが?
(Packages/Misc.nは、 mk/sad.install.mkがインストールしてくれるはずです)

SubjectRe^11: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1089
Date: 2012/12/20(Thu) 17:03:16
ContributorM. Satoh < >
> >  了解致しました,ありがとうございます。
> >  install前の"srcディレクトリ"/bin の配下にできるgsを使うと正常に動作する件ですが,インストール先のshare/Packages/ 配下に,functions.nがコピーされていなかったことが原因のようです。手動でコピーした後,正常動作を確認できました。その他,CSR.n, SADFormat.py, misc.nもコピーされていませんでした。
> >  sad.install.mk等に,これらのファイル名が書かれていないことが原因なのでしょうか?
> >
> その通りで、Packages/下にファイル追加時に mk/sad.install.mkが適切に更新されていないことが原因です
>
> あと、misc.nは Attic行きしているはずで HEADや k64-1-6 branchの構成ファイルには含まれないはずなのですが?
> (Packages/Misc.nは、 mk/sad.install.mkがインストールしてくれるはずです)

森田様,

 コメントありがとうございます。Misc.nは私の勘違いで,インストールされていました。
k64のPackages/下には,何故かMisc.nとmisc.nが存在するようです(内容は全く同じものですが)。

佐藤

SubjectRe^12: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1090
Date: 2012/12/20(Thu) 17:14:26
ContributorAkio Morita
> > >  了解致しました,ありがとうございます。
> > >  install前の"srcディレクトリ"/bin の配下にできるgsを使うと正常に動作する件ですが,インストール先のshare/Packages/ 配下に,functions.nがコピーされていなかったことが原因のようです。手動でコピーした後,正常動作を確認できました。その他,CSR.n, SADFormat.py, misc.nもコピーされていませんでした。
> > >  sad.install.mk等に,これらのファイル名が書かれていないことが原因なのでしょうか?
> > >
> > その通りで、Packages/下にファイル追加時に mk/sad.install.mkが適切に更新されていないことが原因です
> >
> > あと、misc.nは Attic行きしているはずで HEADや k64-1-6 branchの構成ファイルには含まれないはずなのですが?
> > (Packages/Misc.nは、 mk/sad.install.mkがインストールしてくれるはずです)
>
> 森田様,
>
>  コメントありがとうございます。Misc.nは私の勘違いで,インストールされていました。
> k64のPackages/下には,何故かMisc.nとmisc.nが存在するようです(内容は全く同じものですが)。
>
二つあるのは MacOSXの呪いかもしれません
# pserver mirrorが、MacOSX上で動いているので file system層の case sensitivityに問題がある可能性が…

SubjectRe^13: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1092
Date: 2012/12/26(Wed) 16:25:32
ContributorAkio Morita
> >  コメントありがとうございます。Misc.nは私の勘違いで,インストールされていました。
> > k64のPackages/下には,何故かMisc.nとmisc.nが存在するようです(内容は全く同じものですが)。
> >
> 二つあるのは MacOSXの呪いかもしれません
> # pserver mirrorが、MacOSX上で動いているので file system層の case sensitivityに問題がある可能性が…
>
cvs logで pserver mirrorの Packages/Misc.nと Packages/misc.nの logを辿って見ましたが、

Packages/misc.nが Packages/Misc.nの別名として名前解決されていました。
従って、pserver mirrorが動いている MacOSXの file system層の問題で確定です

本物の Packages/misc.nは HEAD及び現在 activeなbranchには存在しないファイルなので実害はありません

SubjectRe^8: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1083
Date: 2012/12/20(Thu) 11:57:28
ContributorK. Oide
佐藤様。

 今checkinした版でshared memoryに対応しました(不達成動詞)。お試しください。
 なお、bench-IO, amidaについては手元のLInuxがreadyでないので確認しておりません。

  生出


> 生出様,
>
>  下記の件,ありがとうございました。
> 少し進展いたしまして,サンプルスクリプトのbench.sad, bench2.sadは正常に動作しました。
> しかし,bench-IO.sadは下記の様なエラーが出ました。
>
> -------------
> SAD I/O Benchmark
> Test Vector Length: 1048576
> ???General::wrongtype: Argument must be String in MkSecureTemp$[If[StringQ[],Null,If[dir$4<=>{},dir$4[[1,2]],
> Environment["TMPDIR"]/.""->"/tmp"]//"/"//If[prefix$4<=>{},prefix$4[[1,2]],"mkstemp"]//".XXXXXXXXXX"],""]
> ... in Module[{prefix,suffix,dir},
> {prefix,suffix,dir}=SwitchCases[Join[{},{}],{Prefix->_String,Suffix->_String,
> Directory->_String}];
> ...
> ... in MkSecureTemp[]
> ... in Module[{temp,fp,d,tStart,i,t0,dt},
> temp=MkSecureTemp[];If[temp===$Failed,Return[$Failed]];d=TestVector;
> tStart=FromDate[];
> ...
> ... in RealListWriteBenchmark[]
> ... in Benchmark[]
>
> ! End of File
> -------------
>
>
>  また,amida.sadは,下記の様なエラーが出ました。Tkinterを用いたスクリプトは,途中でエラーが出るようです。
>  ただし,install前の"srcディレクトリ"/bin の配下にできるgsを使うと正常に動作します(bench-IO.sadなど他のサンプルスクリプトも)。私の設定がおかしいのかもしれませんので,もう少し調べてみます。
>
> ------------------
> ???General::wrongtype: Argument must be List, Rule, Symbol, String, Real in Override[`Class`Prepend[{},{AllMembers,AllParents,
> Class,Destructor$,Members,Options,Parents,Print,Short}]]
> ... in With[{`Class`allmember=
> Override[Flatten[`Class`MemberSymbol/@`Class`Family[`Object`]]],
> `Class`allv=Override[Flatten[`Class`VarSymbol/@`Class`Family[`Object`]]]},
> ...
> ... in With[{`Class`c$3},
> `Class`instm$3=({`Class`a}&`Class`ExtractVar[`Class`c$3,`Class`a])/@
> Hold[Options={}];
> ...
> ... in Module[{`Class`heldmethods=
> Hold/@Hold[With[{c=Literal[Class][First[This]]},
> Class[]:=c;Members[]:=`Class`MemberSymbol[c];
> ...
> ???General::wrongtype: Argument must be List, Rule, Symbol, String, Real in Override[Class`Prepend[{},{Amida`at,Amida`bgoing,
> Amida`bsetgo,Amida`c,Amida`ch,Amida`cw,Amida`CheckSeparation,Amida`Constructor,Amida`dx,Amida`dy,Amida`DrawLadder,Amida`enl,
> ------------------
>
>
>
>
> > 佐藤様、
> >
> >  FORTRANのALLOCATEを使ったものをcheckinしてあります。お試しください。
> >  前にSADの内部stackの問題だと書きましたが、そうではなくて、MAIN levelが32bitになっていることの方がより問題です。MAIN levelを頻繁に操作する(USEを多用するなど)場合にはいずれ問題が発生します。
> >
> >   生出
> >
> > >
> > >  ありがとうございました。
> > > 残念ながら,下記の通り同じエラーが出ました。
> > >
> > > <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)を実現

SubjectRe^9: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1085
Date: 2012/12/20(Thu) 12:34:05
ContributorM. Satoh < >
 生出様,

 下記の件,ありがとうございました。確認致しました。
amida, bench-IOも正常に動作致しました。

佐藤

> 佐藤様。
>
>  今checkinした版でshared memoryに対応しました(不達成動詞)。お試しください。
>  なお、bench-IO, amidaについては手元のLInuxがreadyでないので確認しておりません。
>
>   生出
>
>
> > 生出様,
> >
> >  下記の件,ありがとうございました。
> > 少し進展いたしまして,サンプルスクリプトのbench.sad, bench2.sadは正常に動作しました。
> > しかし,bench-IO.sadは下記の様なエラーが出ました。
> >
> > -------------
> > SAD I/O Benchmark
> > Test Vector Length: 1048576
> > ???General::wrongtype: Argument must be String in MkSecureTemp$[If[StringQ[],Null,If[dir$4<=>{},dir$4[[1,2]],
> > Environment["TMPDIR"]/.""->"/tmp"]//"/"//If[prefix$4<=>{},prefix$4[[1,2]],"mkstemp"]//".XXXXXXXXXX"],""]
> > ... in Module[{prefix,suffix,dir},
> > {prefix,suffix,dir}=SwitchCases[Join[{},{}],{Prefix->_String,Suffix->_String,
> > Directory->_String}];
> > ...
> > ... in MkSecureTemp[]
> > ... in Module[{temp,fp,d,tStart,i,t0,dt},
> > temp=MkSecureTemp[];If[temp===$Failed,Return[$Failed]];d=TestVector;
> > tStart=FromDate[];
> > ...
> > ... in RealListWriteBenchmark[]
> > ... in Benchmark[]
> >
> > ! End of File
> > -------------
> >
> >
> >  また,amida.sadは,下記の様なエラーが出ました。Tkinterを用いたスクリプトは,途中でエラーが出るようです。
> >  ただし,install前の"srcディレクトリ"/bin の配下にできるgsを使うと正常に動作します(bench-IO.sadなど他のサンプルスクリプトも)。私の設定がおかしいのかもしれませんので,もう少し調べてみます。
> >
> > ------------------
> > ???General::wrongtype: Argument must be List, Rule, Symbol, String, Real in Override[`Class`Prepend[{},{AllMembers,AllParents,
> > Class,Destructor$,Members,Options,Parents,Print,Short}]]
> > ... in With[{`Class`allmember=
> > Override[Flatten[`Class`MemberSymbol/@`Class`Family[`Object`]]],
> > `Class`allv=Override[Flatten[`Class`VarSymbol/@`Class`Family[`Object`]]]},
> > ...
> > ... in With[{`Class`c$3},
> > `Class`instm$3=({`Class`a}&`Class`ExtractVar[`Class`c$3,`Class`a])/@
> > Hold[Options={}];
> > ...
> > ... in Module[{`Class`heldmethods=
> > Hold/@Hold[With[{c=Literal[Class][First[This]]},
> > Class[]:=c;Members[]:=`Class`MemberSymbol[c];
> > ...
> > ???General::wrongtype: Argument must be List, Rule, Symbol, String, Real in Override[Class`Prepend[{},{Amida`at,Amida`bgoing,
> > Amida`bsetgo,Amida`c,Amida`ch,Amida`cw,Amida`CheckSeparation,Amida`Constructor,Amida`dx,Amida`dy,Amida`DrawLadder,Amida`enl,
> > ------------------
> >
> >
> >
> >
> > > 佐藤様、
> > >
> > >  FORTRANのALLOCATEを使ったものをcheckinしてあります。お試しください。
> > >  前にSADの内部stackの問題だと書きましたが、そうではなくて、MAIN levelが32bitになっていることの方がより問題です。MAIN levelを頻繁に操作する(USEを多用するなど)場合にはいずれ問題が発生します。
> > >
> > >   生出
> > >
> > > >
> > > >  ありがとうございました。
> > > > 残念ながら,下記の通り同じエラーが出ました。
> > > >
> > > > <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)を実現

SubjectRe^6: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64)
Article No1079
Date: 2012/12/19(Wed) 13:47:33
ContributorAkio Morita
>
>  ありがとうございました。
> 残念ながら,下記の通り同じエラーが出ました。
>
> <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を使うようにしました。効果があるかどうか見てもらえませんか?
> >
> >   生出
> >
mapalloc経由でmmap(2)を使っても、仮想アドレスを制限しないと効果がありません

Linuxの場合は、MAP_32BITフラグ(since Linux 2.4.20, 2.6)をつけることで、
kernelに対して 2GiB領域内の仮想アドレス割り当てを要求出来ます

Note:
- MAP_32BITフラグは、POSIX/SUS標準では無いので、移植性はありません
- HP-UXでは、類似のフラグとして MAP_ADDR32が存在する

Ref.
- src/sim/unix_memory_.cの 69行以降
- http://www.kernel.org/doc/man-pages/online/pages/man2/mmap.2.html