Sunday, February 18, 2007

64-bit versions of CheckerBoard and Cake

Linux users could already benefit from the new powerful 64-bit processors for quite some time, while M$'s win64 never really got out of its beta phase. With the release of Windows Vista, this has changed, and 64-bit computing is now also available to the masses. I run neither Linux nor Vista, but I do have a compiler capable of producing 64-bit executables. I wonder whether they will run under 64-bit Vista? If you happen to own a 64-bit Vista, you can try it by downloading CB_64.zip (264KB), and installing it in your CheckerBoard directory. To do this, you need to extract checkerboard64.exe to the CheckerBoard directory, and CakeM64.dll to your engines directory. Run checkerboard64.exe and choose CakeM64.dll as your engine. Let me know what happens!

3 comments:

Mark said...

I tried it with my Win vista x64 ultimate and core 2 duo and got just over 3000kn/s.

Ed Gilbert said...

Hi Martin,

I just tried the 64-bit version of checkerboard and cake on my E6700 core 2 duo running XP-64. Checkerboard seems to run ok, but when I start a search with cakeM64, I get an exception error during the db initialization process. The last message seen on the status line is 'parsing db\db8_0404.idx'. Perhaps Mark is not using an 8-piece db, or maybe its a difference in our memory sizes. My machine has 8gb, but I tried asking for only small database memory and it still crashes.

XP-64 is very nice, even for 32-bit programs. It looks and feels just like 32-bit Windows, and all my 32-bit programs run on it. Running 32-bit checkerboard and kingsrow I can use set the database memory to 3300mb and hashtable to 256mb. When I tried increasing the database memory setting in 32-bit cakeM, it crashes when I go above 2gb. Maybe a signed int in the egdb driver that could be unsigned to get use of the other 2gb? I haven't compiled a 64-bit version for English kingsrow yet, but I expect to do this soon. I just finished doing this for the 10x10 international version. I can use all 8gb of ram, and the speed in 64-bit mode is much better (3033kN/s vs 2122 in 32-bit mode). The conversion was not quite as simple as just recompiling. I had some unsigned ints in the egdb driver that had to get changed to __int64, and there were a few minor things in the GUI that had to be changed.

I hope that you can identify the cakeM64 egdb driver problem from these symptoms. You should put a 64-bit version of Windows on one of your AMD machines. Its very nice for checkers work.

-- Ed

Mark said...

I have 2gb of memory. I have the 8 piece db, but I can't remember if I was using it. But, checkers is solved, how is suicide checkers coming?