Subject | : Re^10: Build 1.0.10.6.4.7k64 on Linux(CentOS5.8 x86_64) |
Article No | : 1086 |
Date | : 2012/12/20(Thu) 13:47:01 |
Contributor | : K. 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)を実現
|