Mailinglist Archive: opensuse-amd64 (380 mails)

< Previous Next >
Re: [suse-amd64] Hardware support
  • From: Odon Farkas <farkas@xxxxxxxxxxxx>
  • Date: Mon, 2 Feb 2004 07:23:39 +0000 (UTC)
  • Message-id: <1075706409.3738.15.camel@xxxxxxxxxxxxxxxxxx>
Hi Michael,

On Mon, 2004-02-02 at 07:56, Michael Matz wrote:
> Hi Ödön,
> On Fri, 30 Jan 2004, Odon Farkas wrote:
> > - Use for the moment a 32-bit OS unless you really need 64 bits for
> I wouldn't give such advice at all. Run benchmarks and then decide.
> If you recompile the stuff the 64bit version should win in most cases.
> > development or your application. In some integer performance sensitive
> > applications the 64-bit version might run much faster but my experience
> > with floating point extensive applications (like Gaussian - quantum
> > chemistry) shows the opposite for now, however, in theory the floating
> > point part should be able to reach the same speed than on 32-bit when
> > the compilers learn how to do it ;-)
> Hmm, I would be interested in some example code showing such behaviour.
> Because on AMD64 (in 64bit mode) we have twice as many registers and use
> SSE2 by default. This means that in theory (and mostly in practice too)
> floating point on AMD64 should outperform anything on 32bit quite a bit.
> This has nothing to do with 64bit or not, but rather with the much better
> instruction set available in 64bit mode.

I was also surprised, since I expected the same. Gaussian uses the PGI
fortran compiler and the code was linked with AMD's ACML. It is very
likely a current handicap of the PGI compiler. Also a possible reason is
that the cache can store more 32 bit integers than the default 64-bit
ones when compiled with i8. Gaussian is not open source (see, so I am not allowed to give example code, the whole
program is cca. 1M lines in Fortran. I could not find any SpecFP
benchmark which was done on Opteron/Athlon64 in 64/bit mode and could
outperform the same machine in 32-bit mode. However, I really hope this
will happen...

> One usual problem with loops (in C(++)) is the use of 'int' loop indices
> if they are used also as array indices because of the necessary sign
> extension. This can be helped by either using 'unsigned int' or 'long'
> indices.
> Ciao,
> Michael.

Best wishes,


< Previous Next >
Follow Ups