Path: coconuts.jaist!wnoc-tyo-news!news.nc.u-tokyo.ac.jp!makino From: makino@chianti.c.u-tokyo.ac.jp (Jun Makino) Newsgroups: fj.lang.fortran,fj.sys.alpha Subject: Re: Fortran on PC-UNIX Date: 07 Dec 1996 14:49:04 GMT Organization: College of Arts and Sciences, Univ. of Tokyo Lines: 90 Distribution: fj Message-ID: References: <56a1uj$ni@news-n.cc.titech.ac.jp> <56mtqi$afj@kendm.ken.nm.fujitsu.co.jp> <582je0$1i68@lightning.asahi-net.or.jp> NNTP-Posting-Host: muscat.c.u-tokyo.ac.jp In-reply-to: okamura@timshel.riken.go.jp's message of Sat, 7 Dec 1996 09:27:15 GMT Xref: coconuts.jaist fj.lang.fortran:1117 fj.sys.alpha:62 >>>>> On Sat, 7 Dec 1996 09:27:15 GMT, okamura@timshel.riken.go.jp (OKAMURA Hiroyuki) said: > の記事において > makino@chianti.c.u-tokyo.ac.jpさんは書きました。 >>> gcc -funroll-loops -O3 -ffast-math test.c ; a.out >>> 9.680u 0.000s 0:09.68 100.0% 0+0k 0+0io 44pf+0w >>> g77 -funroll-loops -O3 -ffast-math test.f ; a.out >>> 11.360u 0.000s 0:11.35 100.0% 0+0k 0+0io 58pf+0w > 折角ですから、当方の P6-200MHz/Linux でもやってみました。 > fort77 -O3 test.f # f2c+gcc > 4.050u 0.020s 0:04.08 99.7% 0+0k 0+0io 88pf+0w > f77 -O test.f # Absoft Fortran-77 > 3.920u 0.000s 0:03.92 100.0% 0+0k 0+0io 43pf+0w > g77 -O3 test.f > 10.830u 0.010s 0:10.84 100.0% 0+0k 0+0io 88pf+0w > (g77 は -funroll-loops を付けない方が大抵速いみたいです) これだとそんなに悪くないですね。 > 当方の AXP-21064/275MHz の DEC-Fortran でも 4 秒台でした。 あれ、手元のAlpha AXP 3000/900 (21064A 275 MHz, OSF 3.0)では、 f77 -fast -O4 test.f 1.97u 0.01s 0:02 99% 0+2k 0+5io 305pf+0w あれれれ、21164 250 MHz より速い、、、まあ、実際の速度は配列宣言 の大きさを変えるだけでくるくる変わって、大抵の大きさでは 21164 の 方が速いのですが。 >>> まあ、実用的なプログラムではないのでこれでどうという話ではありませんが、 > ですよね。 です。 > # GNU ですから、donation もしないで文句を言うのも筋違いですし。 > # g77 の作者さんは、現在は AXP のサポートに最も力を入れている > # らしいですが、DEC からマシンの提供と共に要請が有ったからだ > # そうです (その前は DX-33MHz を使っていたとか!)。 DEC はずいぶん GNU とか Linux に肩入れしてますね。 それも悪くはな いのですが、Digital UNIX とコンパイラをもうちょっと安くしてくれれ ばいいのにと思いません?フランスの知合いから、 Alpha XL + Digital UNIXという組合せがそこそこの値段で買えるというメイルが入ってきた んだけど、むこうではそんなことがあるのかなあ。 > で、元記事の Microway NDP Fortran に関してですが… > 当方の同業者には Absoft Fortran の方を薦める人が居る、とだけ > 申し添えておきます。少なくとも、質問や要求の e-mail に必ず即日 > 回答してくれたので、良い会社ではあると私は思います。 x86 だとこれもあるんですね。NT/Linux の両方あるみたいですね。 牧野@東大駒場 追記:以下、 上のテストに使った fortran のソースです。 subroutine vectadd(a,b,c,n) real * 8 a(n), b(n), c(n) integer n integer i do i = 1, n a(i) = b(i) + c(i) enddo end subroutine init(b,c,n) real * 8 b(n), c(n) integer n integer i do i = 1, n b(i) = 0 c(i) = 0 enddo end program vectortest real * 8 a(1000), b(1000), c(1000) integer n integer i n = 1000 write(6,*)'n = ', n call init(b,c,n) do i = 1,100000 call vectadd(a,b,c,n) enddo end