Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Hammer info. And som SMP musings.

Author: Vincent Diepeveen

Date: 09:01:30 03/26/02

Go up one level in this thread


On March 25, 2002 at 15:13:08, Tom Kerrigan wrote:

>On March 25, 2002 at 08:19:00, Vincent Diepeveen wrote:
>
>>>>The whole SMT is interesting for the future, but complete nonsense for p4.
>>>>Just a marketing hype. For sure not a single P4 can ever profit from it.
>>>And I'm sure you have measurements to back up this assertion?
>>You wrote a parallel chessprogram yet?
>
>What????? Who cares whether or not I've written a parallel chess program? How
>does that relate to anything? And, in fact, yes, I have written a parallel chess
>program. Now that I've answered your stupid, unrelated question, how about you
>provide us with your measurements that Intel's SMT is worthless for computer
>chess?

If you manage to turn on SMT at the P4 chip, sure :)

Intel has put on its homepage however that 'currently it is turned
off at the chip'.

hehehehehehe

>>>The only difference between a thread and a process is the memory they use.
>>>Intel's SMT presents the chip as two unique processors anyway.
>>And the indirection each process is using when you look at the assembly.
>>that's loads of extra instructions!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>
>What does it mean for a process to "use indirection"? What are these extra
>instructions? What in the world are you talking about?
>
>>multithreading is hell slower than multiprocessing!!!!!
>
>What??? Most chess programs are multithreaded to run on multiple processors.
>They're not mutually exclusive and one isn't faster than the other. You're
>talking nonsense.

That's what i mean with 'did you write something yourself'.
If you would have then you would know that the difference is
that in DIEP i can do (multiprocessing)

if( quickboard[sq_d3] == whitebishop )

where with multithreading you always need indirection:

if( thisthread->quickboard[sq_d3] == whitebishop )

SEE WHAT I MEAN?

the overhead is from 'thisthread->'

That is an extra pointer for each SMP thread.

I don't need it.

>>1024 words L1 cache for a program with 4MB datastructure,
>>DO THE MATH yourself.

>I can do math, but have you taken a computer organization class? It doesn't
>matter how big your stupid data structures are, the only thing that matters is
>how big your working set is.

I'm not the fool here Tom, please see above. You forget an overhead
which is pretty big and causes processors like the P4 to be not happy.

>>At K7 MP with visual c++ 6.0 sp4 + processor pack, i'm 100% sure i'm
>>more closer to or above 2, than under 1.
>
>Really, how about you give us some measurements? Oh, right, you don't have any.
>You're make these numbers up.

I'm at least measuring things where possible. You have had 1 theoretic
class where probably teachers told you thread = process. Well it isn't.

Threads are slower.

In fact if you read in the API from M$ the first sentence then it will
show you even more trouble when multithreading under windows. It says
that when a thread is doing graphics, that all other threads are
getting blocked when one of the threads is performing work.

Please wake up in reality!

Crafty of course as a console application has no problems with that.
Crafty IS having the extra pointer to multithread though. Bob never
actually measured the speed difference, but if i look to assembly there
is quite some difference, also because it is harder for compiler
to optimize pointer references, than direct references, because the
processor has something real cool called 'register renaming'.

>-Tom



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.