Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Sempron vs. Athlon 64: Proof that Crafty's working set is < 256k

Author: Tom Kerrigan

Date: 00:03:08 08/22/04

Go up one level in this thread


On August 21, 2004 at 00:15:55, Robert Hyatt wrote:

>I had no "strawman" argument.  You said, and I quote, "this proves that the
>working set of crafty is < 256K".  I said, and I quote "this proves _no_ such
>thing."
>
>That has been the limit of my argument.  Your test "proved" nothing.  Your
>conclusion might well be right for all I know.  But your test certainly doesn't
>prove that it is.
>
>All the other faulty logic is irrelevant.  I provided data a long while back on

Just because you call my logic faulty and irrelevant doesn't make it so.

The only analysis of the situation that you've given (in the posts to Sune
below) is BLATANTLY faulty. Saying that you access your attack bitboard arrays
at random is ridiculous. For that to be true, every position you visit and
evaluate must be completely different from the next. How is that possible when
the rules of chess only allow you to move 1-2 pieces at a time? And a randomly
generated position is most likely not even legal?

But let's say for the moment that your implication is true and Crafty evaluates
completely random positions one after the other. That means increasing L2 cache
would STILL improve Crafty's performance because you'd be randomly accessing a
bigger random subset of your working set.

The only way that increasing L2 cache wouldn't affect Crafty's performance
(assuming a large working set) is if you accessed your arrays in a carefully
bizarre manner. Do you have code in Crafty to move a piece in such a way that it
causes a cache miss every time you evaluate it?

The only remotely plausible explanation for not seeing an increase in chess
program* performance going from 256k to 512k cache is that virtually all of the
data it needs fits in 256k of cache.

* Not some arbitrary hypothetical contrived program

(Actually, if you want even more data to support my conclusion, I just ran
Crafty on a dual proc with a shared memory bus. When I run two copies
simultaneously, each copy is exactly as fast as when I only run one copy.
Meaning that memory accesses are so sparse that there might as well be no
contention.)

-Tom



This page took 0.01 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.