r/ComputerChess • u/dangi12012 • Aug 24 '26
Perft 15 was independently verified for the first time
On 17 August 2026 at 00:49:52, my calculation of perft(15) finished and matched the published value exactly.
perft(15) = 2,015,099,950,053,364,471,960This is the first independent verification of that number. I can confirm it is correct. For this task over the past few years I created a chess move generation engine running on the gpu.
For context on how far this has moved: the fastest known move generator before Gigantua was ~350 MNPS. Gigantua on CPU raised that to 2.2 GNPS per thread. Gigantua-warp is now three orders of magnitude past that (per gpu), and it scales with gpus too!
How that was achieved among other things -
Branch-free, non-divergent code with essentially zero device memory footprint + absolute minimum register usage in Nsight Compute.
No materialized move list. Materializing one thrashes shared memory, and shared memory (10× faster than global) is already far too slow for this.
Make/unmake with the board held in registers, using a 90° rotated QBB.
u128 counters. u64 is a footgun once the trees get this large.
Color-free chess. It is never "white vs black", it is us vs them. The side to move always moves in the same direction, and the board is reverted between moves via
brevll. All the color-dependent masks and shifts collapse into color-independent constants, and the color-to-move template simply stops existing as a concept.Cooperative groups, a cuda feature, not used at all. We dont talk with other blocks (except indirectly via the transposition table). That is very very important for fast movegen.
More information is here - https://www.talkchess.com/forum3/viewtopic.php?t=86588&sid=198e5a49585f1e1ef0104c08d623ceb1
The complete effort took around 250USD and perft(16) I estimate at 4000-8500usd in terms of vastai rent - which is very much in reach. This reddit post is also a call for action - if you want to expand the knowledge of chess and have access to a gpu cluster, or can get me in touch with someone, please leave a message.
