Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: About compiler optimizations

Author: Robert Hyatt

Date: 22:52:36 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).

Did you use the intel C++ 7.0? Of course not.  Did you do the profile-feedback
optimizations?  Probably not.  I have _yet_ to find a program that gcc produces
faster code for than Intel 6.0/7.0 produces.


>
>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).

You make those little "aside" remarks that make you sound utterly foolish.
What does 64 bits have to do with anything in this context?  Or is it just
uncontrollable rambling???


>
>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.
>

I'd bet that someone like Eugene could make your program 50% faster, and
1000% more readable...


>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.
>
>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.

Never seen someone able to read minds and know everything about everything, in
a single person.  How do you _know_ Intel does that?  You don't.
>
>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.

utter hogwash, unless AMD doesn't know what they are doing.


>
>Best regards,
>Vincent



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.