Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: About compiler optimizations

Author: Matt Taylor

Date: 22:21:23 12/20/02

Go up one level in this thread


On December 20, 2002 at 16:43:20, Vincent Diepeveen wrote:

>On December 19, 2002 at 16:21:19, Matt Taylor wrote:
>
>>On December 19, 2002 at 12:31:15, Robert Hyatt wrote:
>>
>>>On December 19, 2002 at 12:00:32, Vincent Diepeveen wrote:
>>>
>>>>On December 19, 2002 at 11:43:22, Robert Hyatt wrote:
>>>>
>>>>>On December 19, 2002 at 09:43:54, Vincent Diepeveen wrote:
>>>>>
>>>>>>On December 19, 2002 at 07:53:32, Frederic Louguet wrote:
>>>>>>
>>>>>>>My program Chess Wizard has always run much faster on Athlon than on P4, but
>>>>>>>maybe using default optimizations is not enough. So I have a question for
>>>>>>>compiler gurus : what are the best compiler optimizations you can use under
>>>>>>>Microsoft Visual C++ 6.0 with processor pack, running under Windows XP, for
>>>>>>>Athlon XP/MP and for Pentium 4.
>>>>>>>
>>>>>>>Before I try everything myself, maybe someone has made experiments and has
>>>>>>>interesting results to share ?
>>>>>>
>>>>>>Yes.
>>>>>>
>>>>>>Try mingw with msys.
>>>>>>it works under windows.
>>>>>>
>>>>>>download the latest gcc compiler.
>>>>>>then compile a version with profile info. produce profile
>>>>>>info. then recompile with that and branches get optimized.
>>>>>>
>>>>>>should get your chess wizard, assuming it's a non-bitboard (gcc
>>>>>>is horrible optimizing 64 bits code for 32 bits processors), a lot
>>>>>>faster.
>>>>>>
>>>>>>It sure works for diep very fast.
>>>>>
>>>>>
>>>>>Also he should try the Intel C/C++ compiler v 7.0 download from Intel's
>>>>>web site.  It produces faster code for me than any version of gcc that is
>>>>>available.
>>>>
>>>>you have a P4. he has an AMD K7. I bet even old visual c++ 6.0 sp4 procpack
>>>>beats the intel 7.0 on that hardware ;)
>>>
>>>
>>>I suppose that is the _big_ difference between us.  I prefer to _test_ and
>>>produce data that can be used to make a decision.  Rather than "guesswork".
>>
>>The least he could do is read the optimization manuals and make a clever
>>observation. You might as well call the Athlon optimization manual the P4 Jr.
>>optimization manual. The bulk of the manuals are identical concepts with
>>different wording and style.
>>
>>I have seen a number of tests which pretty much confirm that P4-optimized code
>>is going to fly on Athlon, too. It won't be *best* on Athlon, but it's going to
>>beat Visual C++ 6.0 SP4 with Processor Pack. When you think about it, it makes
>>sense, too. All superscalar processors are suffering mostly from the same
>>effects.
>>
>>-Matt
>
>Bob is wrong about the guess work. Testing shows simply that at athlon K7
>DIEP is a lot faster with gcc with fbranch-probabilities, than it is with
>intel c++ (of course not even counting bugs in the code intel c++
>generates).
>
>Your assumption is wrong too. With regard to single cpu applications
>(and specint which includes crafty is run single cpu as far as i know)
>the P4 and the P3 and the K7 are not much different from the old PentiumPro.
>
>The weak chain of the pentiumpro and the PII definitely came back into the
>K7 and the P4. The weak chain being clearly branches (i am not using
>64 bits bitboards so all these problems crafty has i do not have with
>that vector instructions might be faster or slower in some way).
>
>The penalty for branches at the P6 and P2 were already so huge in 1996,
>that by now in 2002, every chessprogrammer who did a lot of optimization
>work, definitely optimized this a lot.
>
>It is a gross misunderstanding guessing that i could change lossless
>something with regard to single cpu DIEP to get it faster at the P4.
>
>Add to that, that the P4 optimizations from the intel compiler do not
>seem to run on the K7 at all, apart from that they generate bugs.
>
>Blaming that onto the K7 is no good idea. 50% of the computerchess users
>at least have a K7. If something is broken, then work around it, don't
>blame it on a processor.

Or the fact that the K7 and P7 do not completely share the same instruction set.

>Yet the intel c++ lemma seems to be that the specint number must be increased.
>Rest of world can drop dead from them seemingly when they can win 0.01% for
>that goal.
>
>intel c++ 6.0 or 7.0 optimized executables will *never* run fast on K7
>when compared to speed other compilers or old 5.0 generates for it.

Ironic that. I've run Intel C 6/7 binaries on my dual-K7. They work fine.
They're faster than their gcc equivalents. I'm really not sure what you're
talking about since my experiences have been quite good.

-Matt



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.