Crafty 25.0 Release

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

Moderators: hgm, Rebel, chrisw

bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Crafty 25.0 Release

Post by bob »

cdani wrote:
velmarin wrote:
Dann Corbit wrote:I will deliver one on Monday.
P.S.
It cannot be built with visual studio.
The EGTB code that gets created is invalid.
It has to be built with gcc.
The supplied makefile does not work, and it takes a lot of fiddling to make a good one.
I could do it again from here, but I am too lazy for that.
I am sure someone else can make one.
Hi, Dann and all, built with Intel compiler.
I am not familiar with the crafty code.
Defined CPUS how 8
POPCNT defined how on and off.
Nalimov EGTB I not have on my computer, I have not tried.
Define smpmt = x(número de cores) in crafty.rc (I think that it is the case)
Added Wb2Uci of crafty24.
Linked statically.
The three executables work on my system.
Waiting for some official relase, they have to play a little.
Merry Christmas.

http://www.mediafire.com/download/d4pkq ... ty-25.0.7z
Thanks! I was having trouble making it work in Visual Studio. I managed to compile a version without cpus, but with cpus was crashing.

I'm trying the 64 bits popcnt with cutechess-cli and works nicely.
I have seen a couple of reports that Eugene's code (egtb.cpp) won't run if compiled with visual studio. Not having any windows boxes around, I have not tried to debug this yet. It works fine with any version of gcc I have tried, as well as with several versions of the Intel C compiler (all on linux). I think Mike or Tracy has compiled on a windows box and run into this issue as well...

One thing you absolutely must not use (for gcc, and probably other compilers using a different option name) is the -fno-alias. Eugene has multiple places where different pointers point to the same thing, and using the above option will make the compiler produce a broken executable that will crash on egtb probes. I use that option for my source as it is safe and produces faster code. But not for egtb.cpp
User avatar
F.Huber
Posts: 853
Joined: Thu Mar 09, 2006 4:50 pm
Location: Austria

Re: Crafty 25.0 Release

Post by F.Huber »

bob wrote: So how you are doing that I don't know. Perhaps a bad adaptive hash command?
Well, I'm using the following lines (like I've done it since years):
hash=64M
hashp=16M
There are no guarantees anything works on a 32 bit system, however.
32 bit compiles are dangerous since Crafty is a 64 bit program from the ground up...
But so far *all* 32-bit compiles of Crafty (up to version 24.1) have worked perfectly, so it's clearly the fault of this (bad) 25.0 compile.

Franz
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Crafty 25.0 Release

Post by bob »

F.Huber wrote:
bob wrote: So how you are doing that I don't know. Perhaps a bad adaptive hash command?
Well, I'm using the following lines (like I've done it since years):
hash=64M
hashp=16M
There are no guarantees anything works on a 32 bit system, however.
32 bit compiles are dangerous since Crafty is a 64 bit program from the ground up...
But so far *all* 32-bit compiles of Crafty (up to version 24.1) have worked perfectly, so it's clearly the fault of this (bad) 25.0 compile.

Franz
It might well be a bad type being used, although gcc has supported 64 bit integers for at least 20 years now. But it might not handle things like uint64_t even though it handles "long long".

Are you running on 32 bit hardware?
User avatar
F.Huber
Posts: 853
Joined: Thu Mar 09, 2006 4:50 pm
Location: Austria

Re: Crafty 25.0 Release

Post by F.Huber »

bob wrote: It might well be a bad type being used, although gcc has supported 64 bit integers for at least 20 years now. But it might not handle things like uint64_t even though it handles "long long".

Are you running on 32 bit hardware?
The OS is 32bit (Windows Vista), but the CPU (a Core2Duo) is of course 64bit.

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

Re: Crafty 25.0 Release

Post by velmarin »

F.Huber wrote:
bob wrote: It might well be a bad type being used, although gcc has supported 64 bit integers for at least 20 years now. But it might not handle things like uint64_t even though it handles "long long".

Are you running on 32 bit hardware?
The OS is 32bit (Windows Vista), but the CPU (a Core2Duo) is of course 64bit.

Franz
Compiling you a good 32-bit executable crafty(good no bad) . you would be great. :D :D
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Crafty 25.0 Release

Post by bob »

F.Huber wrote:
bob wrote: It might well be a bad type being used, although gcc has supported 64 bit integers for at least 20 years now. But it might not handle things like uint64_t even though it handles "long long".

Are you running on 32 bit hardware?
The OS is 32bit (Windows Vista), but the CPU (a Core2Duo) is of course 64bit.

Franz
I hate to ask, but why are you crippling your hardware with a 32 bit OS? You lose the extra 8 registers and all the other things X86_64 offers... And that ignores the loss of double the number of instructions for 64 bit stuff since there are no 64 bit registers in use...

And that makes the answer to my question above "yes" since you are running on 32 bit hardware when not using a 64 bit O/S...
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Crafty 25.0 Release

Post by bob »

velmarin wrote:
F.Huber wrote:
bob wrote: It might well be a bad type being used, although gcc has supported 64 bit integers for at least 20 years now. But it might not handle things like uint64_t even though it handles "long long".

Are you running on 32 bit hardware?
The OS is 32bit (Windows Vista), but the CPU (a Core2Duo) is of course 64bit.

Franz
Compiling you a good 32-bit executable crafty(good no bad) . you would be great. :D :D
I would not say "great". Just "barely running"...
Frank Quisinsky
Posts: 6808
Joined: Wed Nov 18, 2009 7:16 pm
Location: Gutweiler, Germany
Full name: Frank Quisinsky

Re: Crafty 25.0 Release

Post by Frank Quisinsky »

Hi Bob,

could be different reasons!?

One of my:
Not a secret that I like 32bit compiles too. On older systems I like it to start older Winboard engines vs. newer, "more modern" engines. Most of older engines are 32bit only. It's nice to compare without to have all the playing strength additive / modern options, like x64, BMI2, AVX, POP, SSE3, SSE4, SSE42 other things.

How strong could be Ruffian 2.1 BMI2 x64?
I don't know!

But I can compare Ruffian 2.1 w32 with Crafty 25 w32 if I like.

For an example ...

Best
Frank

PS 1:
Could you compile Crafty 25 x64 ... maybe with BMI2 optimations (if possible)?

PS 2:
On my Dual Pentium III 733Mhz I am using Windows NT ...
Other example ... good enough if I am playing vs. engines.

PS 3:
Crafty is a cult engine. Should be running on each system. With other words, it should be possible to run Crafty on my washing machine processor ... of course with some tricks.

:-)
User avatar
F.Huber
Posts: 853
Joined: Thu Mar 09, 2006 4:50 pm
Location: Austria

Re: Crafty 25.0 Release

Post by F.Huber »

bob wrote: I hate to ask, but why are you crippling your hardware with a 32 bit OS?
Yes, you're right, I must be stupid! :shock:
You won't believe it, but I'm even stupid enough to sometimes use a 'crippled' chess engine (called Crafty), which is a few hundred Elo weaker than the current free top-engines. :P

Franz
Roger Brown
Posts: 782
Joined: Wed Mar 08, 2006 9:22 pm

Re: Crafty 25.0 Release

Post by Roger Brown »

F.Huber wrote:
bob wrote: I hate to ask, but why are you crippling your hardware with a 32 bit OS?
Yes, you're right, I must be stupid! :shock:
You won't believe it, but I'm even stupid enough to sometimes use a 'crippled' chess engine (called Crafty), which is a few hundred Elo weaker than the current free top-engines. :P

Franz
Hello Franz,

Not going to go with you with the sarcasm, but I can confirm that the 32 bit compile on a 64 bit system (Windows 8.1) ignores whatever setting I use in the crafty.rc file. The console output is similar to what you posted earlier.

The 64 bit compile is fine.

Something is broken somewhere it would seem...

And I am a Crafty user too.

Oh, the shame of it!

Later.