FreeBSD 5.2 v/s FreeBSD 4.9 MFLOPS performance (gcc3.3.3 v/s
gcc2.9.5)
Juan Tumani
jtumani55 at hotmail.com
Sun Feb 15 09:05:30 PST 2004
We did some more experiments and when we compiled the object file on 5.2
then linked it on the 4.9 machine and then ran it on the 5.2 machine, there
was
no cyclical problem seen (Frankenstein run). Kind of points to the 5.2 link
stage, i.e.,
5.2 libraries?
Check out the graphical exhibits at
http://www.employees.org/~rsargent/flops/
The graph at the very bottom shows the Frankenstein run. The graphs depict
the
/usr/bin/time results of running 300 iterations of flops 1.2 while
incrementing the
env one byte between iterations.
I use flops 1.2, it runs less modules than 2.0 but still exhibits the
cyclical slowness
[alignment] problem as module #2 in flops 2.0. Source code for flops 1.2 is
at the bottom
of the above link.
Juan
>From: Alexandr Kovalenko <never at nevermind.kiev.ua>
>To: Wes Peters <wes at softweyr.com>
>CC: Juan Tumani <jtumani55 at hotmail.com>, freebsd-hackers at freebsd.org
>Subject: Re: FreeBSD 5.2 v/s FreeBSD 4.9 MFLOPS performance (gcc3.3.3 v/s
>gcc2.9.5)
>Date: Sat, 14 Feb 2004 10:24:21 +0200
>
>Hello, Wes Peters!
>
>On Tue, Feb 10, 2004 at 11:29:34AM -0800, you wrote:
>
> > On Monday 09 February 2004 13:20, Juan Tumani wrote:
> > > I have an Intel D845GE m/b w/ a P4 1.7 CPU and I have the box setup
> > > to dual boot to either 4.9 or 5.2. Both OS are right off the latest
> > > posted iso CD image, i.e., no updates, no kernel tweaks, everything
> > > vanilla right out of the box. I compiled flops.c on both 4.9 and
> > > 5.2 and the 5.2 performance is less than half that of 4.9: 760
> > > MFLOPS on 4.9 v/s 340 MFLOPS on 5.2.
> > >
> > > I tried turning off the SMP and other kernel tweaks and no
> > > improvement in 5.2. I then downloaded and installed gcc295 on the
> > > 5.2 machine and that fixed the problem. So now all I have to do is
> > > figure out the gcc 3.3.3 switches to make it run like gcc 2.9.5 or
> > > figure out how to rebuild 5.2 w/ gcc 2.9.5 :-).
> >
> > I'm not sure that kernel tweaks are going to make much difference on a
> > single-threaded floating point benchmark. Compiler optimizations sure
> > do, though. (Note: I couldn't find version 1.2 of flops.c, so this is
> > based on version 2.0.) On a 2.0GHz P4, I see:
> >
> > wpeters at salty> cc -o flops -O -DUNIX flops.c
>
>Could you please explain me this? Result is fully reproduceable. Please
>note,
>that the only difference is the output file name. Even resulting files
>match
>bit-to-bit. If I do
>
>mv very-slow-flops flops2
>
>and then run ./flops2, it runs as flops2 - fast.
>
>Machine is Dual 2.8 GHz Xeon with HTT disabled (in BIOS). FreeBSD is
>5.2.1-RC2.
>
>%fetch http://home.iae.nl/users/mhx/flops.c
>Receiving flops.c (34942 bytes): 100%
>34942 bytes transferred in 0.6 seconds (54.72 kBps)
>%cc -o flops2 -O2 -mcpu=pentium4 -DUNIX flops.c
>flops.c: In function `main':
>flops.c:174: warning: return type of `main' is not `int'
>%cc -o flops-sse-4 -O2 -mcpu=pentium4 -DUNIX flops.c
>flops.c: In function `main':
>flops.c:174: warning: return type of `main' is not `int'
>%cc -o very-slow-flops -O2 -mcpu=pentium4 -DUNIX flops.c
>flops.c: In function `main':
>flops.c:174: warning: return type of `main' is not `int'
>%./flops2
>
> FLOPS C Program (Double Precision), V2.0 18 Dec 1992
>
> Module Error RunTime MFLOPS
> (usec)
> 1 4.0146e-13 0.0130 1074.8815
> 2 -1.4166e-13 0.0128 545.3338
> 3 4.7184e-14 0.0177 960.4579
> 4 -1.2557e-13 0.0166 903.6914
> 5 -1.3800e-13 0.0317 915.0687
> 6 3.2380e-13 0.0310 936.3149
> 7 -8.4583e-11 0.0403 297.7250
> 8 3.4867e-13 0.0310 968.6112
>
> Iterations = 512000000
> NullTime (usec) = 0.0006
> MFLOPS(1) = 635.0698
> MFLOPS(2) = 560.4516
> MFLOPS(3) = 805.4502
> MFLOPS(4) = 945.5219
>
>%./flops-sse-4
>
> FLOPS C Program (Double Precision), V2.0 18 Dec 1992
>
> Module Error RunTime MFLOPS
> (usec)
> 1 4.0146e-13 0.0177 791.6075
> 2 -1.4166e-13 0.0309 226.7944
> 3 4.7184e-14 0.0202 842.7146
> 4 -1.2557e-13 0.0166 902.8921
> 5 -1.3800e-13 0.0317 916.2631
> 6 3.2380e-13 0.0309 937.0923
> 7 -8.4583e-11 0.0403 297.9173
> 8 3.4867e-13 0.0309 969.3446
>
> Iterations = 512000000
> NullTime (usec) = 0.0006
> MFLOPS(1) = 297.9983
> MFLOPS(2) = 546.3944
> MFLOPS(3) = 775.3701
> MFLOPS(4) = 922.1566
>
>%./very-slow-flops
>
> FLOPS C Program (Double Precision), V2.0 18 Dec 1992
>
> Module Error RunTime MFLOPS
> (usec)
> 1 4.0146e-13 0.0317 442.0039
> 2 -1.4166e-13 0.0331 211.3728
> 3 4.7184e-14 0.0350 485.1899
> 4 -1.2557e-13 0.0168 892.8307
> 5 -1.3800e-13 0.0319 909.7385
> 6 3.2380e-13 0.0311 931.1527
> 7 -8.4583e-11 0.0405 296.4570
> 8 3.4867e-13 0.0312 962.3224
>
> Iterations = 512000000
> NullTime (usec) = 0.0004
> MFLOPS(1) = 259.1938
> MFLOPS(2) = 492.7930
> MFLOPS(3) = 669.1527
> MFLOPS(4) = 797.1471
>
>--
>NEVE-RIPE, will build world for food
>Ukrainian FreeBSD User Group
>http://uafug.org.ua/
_________________________________________________________________
Find great local high-speed Internet access value at the MSN High-Speed
Marketplace. http://click.atdmt.com/AVE/go/onm00200360ave/direct/01/
More information about the freebsd-hackers
mailing list