Crafty 23.6 released

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Consideration of a C++ Crafty

Post by Evert »

bob wrote: If you have a threaded program for SMP search, you will ALWAYS have global data. Whether it is declared as normal C globals, or stuck in a shared memory block (which is still global).
Indeed.
I'd forgot about that because it's a recent addition (to Jazz).
If one is a reasonable coder, global variables are not necessarily a bad thing.
Of course. Just as a goto is sometimes the right thing to use, a global is sometimes the right way to declare a variable. Problems arise when things are global that shouldn't be.
I "fondly" remember when I used to declare loop counters as global variables at the top of the main source file and use them everywhere (so it was in BASIC and I was 12 or so). Funnily enough you learn very quickly why that's a bad idea.
Paloma
Posts: 1208
Joined: Thu Dec 25, 2008 9:07 pm
Full name: Herbert L

Re: Crafty 23.6 released

Post by Paloma »

Hi Peter,

I'm on 64-bit Win 7 Core 2 Duo without SSE4.2 instructions and can therfore not run Crafty 25.6 :(
Any compiles for SSE3 support? Would be nice.

Thanks for your work.

regards
Herbert
User avatar
Peter Skinner
Posts: 1763
Joined: Sun Feb 26, 2006 1:49 pm
Location: Edmonton, Alberta, Canada
Full name: Peter Skinner

Re: Crafty 23.6 released

Post by Peter Skinner »

Paloma wrote:Hi Peter,

I'm on 64-bit Win 7 Core 2 Duo without SSE4.2 instructions and can therfore not run Crafty 25.6 :(
Any compiles for SSE3 support? Would be nice.

Thanks for your work.

regards
Herbert
Try this one:

http://www.kikrtech.com/files/crafty-23.6-nosse42.zip

Peter
I was kicked out of Chapters because I moved all the Bibles to the fiction section.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Consideration of a C++ Crafty

Post by Don »

bob wrote: My approach is similar. An array of thread pointers to access local data, local data (Per thread) allocated in the usual way, with a little care exercised due to NUMA considerations (first CPU to touch a thread block gets that block in its local memory, so this 'first to touch" needs to be spread over all threads and processors to spread the data uniformly, then one wants to use the local data on your core, not on a remote one, etc...
I remember that being an issue with Cilkchess on a big SGI machine we used with 256 processors.

But I did not realize that it was an issue here. So you can control which processor gets the data? How do I do that? I basically keep everything for a single thread in this structure and I have an array of them. I allocate memory for the evaluation cache and pawn structure caches and other read/write tables (such as the history table) are declared statically because their size are small and fixed.

So how can I control which processes get assigned to a given thread?
Capital punishment would be more effective as a preventive measure if it were administered prior to the crime.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Consideration of a C++ Crafty

Post by sje »

Don wrote:So how can I control which processes get assigned to a given thread?
http://en.wikipedia.org/wiki/Processor_affinity
Norbert Raimund Leisner
Posts: 1643
Joined: Tue May 20, 2008 4:57 pm
Location: Augsburg - Germany

Re: Consideration of a C++ Crafty

Post by Norbert Raimund Leisner »

Which software for compiling Crafty 23.6 was used?

http://sourceforge.net/projects/orwelldevcpp , http://gcc.gnu.org or another?

Norbert
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Consideration of a C++ Crafty

Post by velmarin »

Norbert Raimund Leisner wrote:Which software for compiling Crafty 23.6 was used?

http://sourceforge.net/projects/orwelldevcpp , http://gcc.gnu.org or another?

Norbert
My bet is that Peter Skinner did with Intel Compiler.

Jim's compilatión
so compact very similar to that of 64-bit CCT Komodo, also I have curiosity.

also compiles fine with Visual C + +.
User avatar
Peter Skinner
Posts: 1763
Joined: Sun Feb 26, 2006 1:49 pm
Location: Edmonton, Alberta, Canada
Full name: Peter Skinner

Re: Consideration of a C++ Crafty

Post by Peter Skinner »

velmarin wrote: My bet is that Peter Skinner did with Intel Compiler.

Jim's compilatión
so compact very similar to that of 64-bit CCT Komodo, also I have curiosity.

also compiles fine with Visual C + +.
Yes I use the Intel compiler for mine, but will likely move to Visual Studio 2013, as I am finding it produces a smaller executable without any speed loss.

As for Jim's compile... no clue. It's really small though :)

Peter
I was kicked out of Chapters because I moved all the Bibles to the fiction section.
User avatar
Werner
Posts: 2991
Joined: Wed Mar 08, 2006 10:09 pm
Location: Germany
Full name: Werner Schüle

Re: Consideration of a C++ Crafty

Post by Werner »

I have started a match on my I7 920 with crafty-236-64-speed-ja.exe for CEGT 40/20.
After 50 games:

Code: Select all

1   Crafty 23.6 x64 1CPU  2706  +21/-17/=12 54.00%   27.0/50
2   Texel 1.02 x64        2679  +17/-21/=12 46.00%   23.0/50
(Crafty 23.5 x64 1CPU 2630 )
Werner
Paloma
Posts: 1208
Joined: Thu Dec 25, 2008 9:07 pm
Full name: Herbert L

Re: Crafty 23.6 released

Post by Paloma »

Thanks Peter, this one works.