Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: why write a fast chess program ?

Author: Vincent Diepeveen

Date: 07:50:06 08/18/02

Go up one level in this thread


On August 18, 2002 at 00:40:37, Russell Reagan wrote:

>On August 17, 2002 at 23:29:09, Vincent Diepeveen wrote:
>
>>Frans sees the MMX registers different from how we see it. We see it
>>as useless things because we are in C or C++ or whatever. He is in assembly.
>>He simply sees he can now and then do an instruction in MMX for free while
>>the program runs on at the normal registers.
>>
>>If you write that at the lowest level, in assembly, you sure can
>>use it. Also i don't doubt for pawn evaluation a 64 bits bitboard
>>can work. In fact if an evaluation is small you can simply do the
>>pawn evaluation in mmx, MEANWHILE IN PARALLEL, the other evaluation
>>gets done.
>
>I recall hearing about one of the guys who wrote the 3D game Quake II doing
>something like this. He used the floating point processor working in parallel
>with the regular CPU. I guess that's why those guys get paid the big bucks. Very
>talented!
>
>How much speed do you think can be gained from getting MMX and floating point
>processors working in parallel with the main CPU?
>
>Russell

First of all, let's be clear here. This only works if the pawn evaluation
is independant of the rest of the program.

Secondly. It only works if you do always the same things in the MMX. You
don't do FPU also, that's impossible because you can't execute FPu and MMX
in turn without a very expensive switch from MMX to FPU or vice versa.

So you *either* use MMX, *or* you use FPU. FPU instructions are too slow
and not usable, so it's only MMX.

Limiting that domain we must do another assumption. That is that the program
must have a simplistic evaluation. Otherwise it's impossible to do this.

For DIEP it would be impossible to use it simultaneously, because i would
require putting the MMX register to normal registers a lot in order to
mix datastructure info a lot. That's just too expensive.

MMX is hell slower than normal registers are.

So you can't copy a mm register to e?x registers too much.

In other words it's a trade off like Bob always writes here and did in the
past too. Your program remains stupid in order to get more speed. That's
no problem for fritz obviously.

However making it more stupid by not doing that pawn stuff is even faster
than that. So i do not want to talk about a speed increase at all.

It is a design choice simply.

And it is an outdated design choice already with P4 and hammer in mind.

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.