Fast Perft utility with Magic Bitboards and Hashing

Code, algorithms, languages, construction...
Post Reply
HumbleProgrammer
Posts: 40
Joined: Sat Jun 19, 2010 11:00 pm
Real Name: Lee Neuse

Fast Perft utility with Magic Bitboards and Hashing

Post by HumbleProgrammer » Sun Jan 19, 2014 4:17 pm

While rampaging around the Wild Wild Web, I ran across a comparatively new perft utility at https://github.com/ankan-ban/perft_cpu. It was written in the summer of 2013 by Ankan Banerjee, and there is a series of forum postings about it here: http://www.talkchess.com/forum/viewtopic.php?t=48387

The utility's speed is impressive: it is one of the fastest perft counters I've encountered and out-performed my current favorite (frcperft) by almost a 4:1 ratio on a 64-bit Windows system. After several hours of testing--including multiple test positions designed to trip up perft counters--the results have been 100% accurate out to a depth of 7.

The pre-compiled binaries (Windows only) don't use transposition tables, but the source code is adequately documented and it was simple to recompile with hashing enabled. There are also versions designed to use NVIDIA GPUs (CUDA) but I was not able to test these.

Cheers!
Humble Programmer
,,,^..^,,,

Juddster
Posts: 3
Joined: Tue Feb 23, 2016 4:33 am
Real Name: Judd Niemann

Re: Fast Perft utility with Magic Bitboards and Hashing

Post by Juddster » Tue Feb 23, 2016 4:41 am

Hi all - long-time lurker and first-time poster here.
Just giving this old thread a bump.

Perft utility

I was very impressed with Mr. Ankan-Ban's perft program.
I have written my own perft, which is a by-product of my forthcoming chess engine.

It's not as fast as his (at least not on a per-thread basis), but it is multi-threaded. I get about 380 Mnps on my computer.

Check it out and let me know what you think (sorry, 64-bit windows only):

https://github.com/jniemann66/juddperft

thevinenator
Posts: 68
Joined: Tue Jun 02, 2015 11:02 pm
Real Name: Vince

Re: Fast Perft utility with Magic Bitboards and Hashing

Post by thevinenator » Fri Apr 22, 2016 8:30 pm

Has anyone created a chess engine that utilizes GPU move generation?

If so, what kind of actual throughput (NPS) are you getting ?
"An Engine's strength flows from the Search. But beware, pruning, extensions, reductions; the dark side of the Search are they. Once you start down the dark path, it will dominate and consume you, as it has to so many developers before.” -- Yoda

Post Reply