Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Crafty SMP problem

Author: Bernhard Bauer

Date: 01:52:42 01/26/01

Go up one level in this thread


On January 25, 2001 at 09:48:00, Robert Hyatt wrote:

>On January 25, 2001 at 02:32:01, Bernhard Bauer wrote:
>
>>On January 24, 2001 at 12:06:40, Robert Hyatt wrote:
>>
>>>On January 24, 2001 at 10:22:28, Bernhard Bauer wrote:
>>>
>>>>On January 24, 2001 at 06:51:30, David Rasmussen wrote:
>>>>
>>>>>I have a problem with Crafty.
>>>>>
>>>>>I'm trying to run it on a solaris system with 24 CPUs (I've tried it as well on
>>>>>a 12 CPU machine of the same kind).
>>>>>
>>>>>I sometimes get the message "ERROR.  no SMP block can be allocated".
>>>>>What does this mean? What is the problem
>>>>
>>>>In chess.h is a line
>>>>#define MAX_BLOCKS    16*CPUS
>>>>
>>>>You may change this line to a greater value.
>>>>For CPUS=2 this did noz work for me, so I use
>>>>#define MAX_BLOCKS    128
>>>>and that works.
>>>>
>>>>Kind regards
>>>>Bernhard
>>>
>>>
>>>When you say "did not work for me" do you mean you got the out of blocks
>>>error?  2*16 should work for a dual.  4*16 works for my quad and never
>>>produces an error.  If you watch the SMP part of the statistics output, it
>>>shows the max number of blocks used during a search:
>>>
>>>              SMP->  split=507  stop=83  data=17/64  cpu=22.77  elap=6.18
>>>
>>>in my case, 17 blocks was the peak usage, with a total of 64 (4*16).  I would
>>>definitely be interested to know your peak number for a dual system.  I would
>>>expect something in the 8-10 range typically.  On my quad it averages about 12
>>>over the course of a game.
>>
>>Dear Mr. Hyatt,
>>
>>when I compiled Crafty 18.1 with makefile.nt under WIN2000 with the MS compiler
>>C/C++-Compiler, Version 12.00.8804
>>Crafty compiled fine, no errors, but when I started the exe file I got an error
>>immediatly. So if you ask "did you got the out of blocks error?" I will say yes
>>or no, it simply didn't run. A window poped up which said I had a memory error.
>>So I had no idea what the error coud be. First when I noticed the change from
>>17.14 to 18.1 in chess.h I was able to compile Crafty for SMP.
>>
>>When I ran the LCT2 test for 30 min/pos I got a peak number of 10/128.
>>
>>Kind regards
>>Bernhard
>
>
>OK... two issues...
>
>1.  10 blocks max seems about right for 2 cpus.  since the default would be
>to have 32 (2*16) you should not have to change this.
>
>2.  if this fixed your crash (no other changes at all) then there is _another_
>problem.  Could you compile with 32 blocks and debugging enabled and run under
>the debugger to see where it is crashing?  This has to either be an optimizing
>problem or a serious bug in Crafty itself.  It would be nice to know which.
>
>Bob

Looks like there is n error in Init.c at line 1451.
The statement
  for (i=0;i<64+1;i++)
    LockInit(local[i]->lock);
gives an error for
          Name          Value
            i             33
local[i]->lock        0x0000ad80

And at memory location 0x0000ad80 the access violation occurs.

So I changed the statement "for (i=0;i<64+1;i++)" to "for (i=0;i<32+1;i++)"
but now after invokink crafty nothing happens that means no output at all.
Anyway hope that helps a little.

Kind regards
Bernhard



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.