ToDo:
Option | bench2.sad | Notes |
-g -xO1 | OK | |
-g -xO2 | -- | 内部エラー *1 |
-g -xO2(-xO1 for tfshow.f) | SEGV at Fact[200] | Fact[200] -> Fact[170]で、OKに *2 |
-g -xO3 | SEGV at Fact[200] | Fact[200] -> Fact[170]で、OKに *2 |
*1 sunf95 -o tfshow.o -c -g -xO2 -xtypemap=integer:32,real:64,double:64 -xalias=dummy,overindex -stackvar -I/export/home/amorita/SVNwork/SAD/trunk/src -I/export/home/amorita/SVNwork/SAD/trunk/arch/i386-SunOS5/include -I/usr/X11R6/include -I/export/home/amorita/SVNwork/SAD/trunk/arch/i386-SunOS5/include -I/export/home/amorita/SVNwork/SAD/trunk/obj/i386-SunOS5 /export/home/amorita/SVNwork/SAD/trunk/src/tfshow.f sunf95: Warning: Option -xalias has no effect if the optimizer level is -xO2 or below assertion failed in function gather_proc_statistic() @ cginit.c:59 assert(ex_op_(eopcall) == EOPCALL)
*2 --- script/bench2.sad.orig 2009-03-12 14:57:39.565946294 +0900 +++ script/bench2.sad 2009-03-16 11:44:27.671423463 +0900 @@ -765,7 +765,7 @@ Print[Timing[Do[Fact/@[a,{-1}],{1}];"Map"]]; Print[Timing[Do[Thread[a],{30}];"Thread Real List"]]; Print[Timing[Do[Thread[b],{15}];"Thread Non-Real List"]]; - Print[Timing[Do[Fact[200],{500}];"Fact"]]; + Print[Timing[Do[Fact[170],{500}];"Fact"]]; Print[Timing[Do[Flatten[b],{16}];"Flatten"]]; Print[" \n******* Function Test CPU used = ",tf=TimeUsed[]-t0," sec\n"]);
Fact[200]で、Overflow Trapが発生した後の動作が怪しい。 おそらく、Floating Point Exceptionの扱いに問題がある。
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記