Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: About compiler optimizations

Author: Vincent Diepeveen

Date: 14:33:55 12/21/02

Go up one level in this thread


On December 21, 2002 at 01:21:23, Matt Taylor wrote:

>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

You gotta be running bitboard programs or not use gcc 3.2.1 or whatever.

For diep gcc 3.2.1 is 20% faster than intel c++ 6.0. Of course at a K7.
Not at the P4. i do not doubt intel c++ is fast for the P4 and producing
code that by 'accident' runs slow on k7.

also default msvc sp4 procpack compiles are all faster than intel c++ 6.0
compiles for K7. didn't try version 7 yet but i am a realistic man. i know
who i would fire when as a manager at intel my guys would make something
that let the K7 look like better than the P4.

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.