Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: CPU and Compilers

Author: Russell Reagan

Date: 20:46:16 06/22/04

Go up one level in this thread


On June 22, 2004 at 22:55:17, Joshua Shriver wrote:

>Anyone here tried doing tests to see what compilers produce the best binaries?
>
>I've heard gcc (while  portable) can be kinda slow at times compared to Intel's
>compiler.
>
>Are there any compilers out there that are fine tuned to Opteron?
>Know with the G5 the xl compiler is better than gcc.
>
>What is the best compiler for the the various processors?
>xl for G5?  icc for Intel? compaqs suite for Alpha, what for Opteron?
>
>Sincerely,
>Joshua Shriver

I'll tell what my experience has been. Keep in mind that I haven't tested this
in quite a few months, so things may have changed. The latest versions I have
used are:

MSVC .NET 2003
Intel 8 (Linux)
GCC 3.3.1 (Cygwin, Linux)

For any given program, any of them may produce the fastest code. I've had GCC
produce code that was 20% faster than MSVC or Intel.

In general though, GCC comes in third of this group. However, more recent
updates have been improved quite a bit, and it is often very competitive with
MSVC and Intel. I haven't used the most recent version of GCC (3.4). Maybe it is
another improvement. Anyway, here is how it usually works out for me:

MSVC is the fastest, if you are willing to (and have the knowledge to) tweak
compiler options for a while (I've spent several hours doing this before: tweak,
recompile, benchmark, repeat). This is how I produced the fastest Crafty binary
for 32-bit AMD machines a while back.

Intel is a close second usually. If you can get IPO and PGO to work together,
then it is often faster than MSVC. Sometimes I have a heck of time getting them
to work together. I don't know why. Maybe it's the user :)

GCC is usually third. More recently, it has been a close third. Maybe 3.4 puts
it ahead of the others, but I haven't used it yet.

Compilers for the Opteron are probably very shaky at this point. I don't mean
they are unstable. I mean since they are still being developed, this month one
might be the fastest, next month another. Plus it all depends on your situation.
Some people have access to beta versions of MSVC for the Opteron (I think these
would be the fastest at present), while others only have GCC, and others only
have an older version of MSVC for the Opteron, in which the emphasis isn't
really on optimizations. They just wanted people to be able to compile their
stuff for the Opteron early on, and get it ready, or so I've heard.

One other thing to consider is that GCC has been able to compile for 64-bit
machines long before the Opteron was ever around, so it may do very well on the
Opteron.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.