Daniel here. In 2021 I created the fastest movegenerator at that time.
I never stopped working on movegeneration, and it was pretty clear for me that the scaling on CPUs is very limited. Mostly due to memory bandwidth, and scaling stopping with AVX512, later AVX10. Since 2022 I have been working on a gpu movegenerator nonstop. Which is now ready to present.
GPUs dont have pext instruction for movegeneration, and the memory model is very different to CPU movegeneration. Almost none of the speed approaches map to the gpu. Most importantly warps (32 threads) have to execute in unison (non divergent). Also arrays are very expensive if the compiler cant prove indices at compiletime.
So what is required - not optional, is branchfree, non divergent code without any device memory footprint (absolute minimum register usage in nsight compute). U64 is also a footgun with large chess trees, meaning device resident code has to handle u128 or even more in a manner that is performant.
Forget materializing a movelist, that will thrash shared memory (which is 10x faster than global memory, but that is much too slow)
I must have read the nvidia developer guide 20x from beginning to end in the past years.
A few ideas - 90° rotated QBB. This is still make - unmake engine - maintaining a board in registers. No arrays on device code except shared memory.
cooperative groups. Also no need for block level aggregation, like prefix sums etc. Work is truly parallel.
Also color free chess. It is never "white" vs "white" it is "us" vs "them". The player to move, moves always in the same direction, and between each move the board is (cuda syntax) reverted via brevll. This saves many different masks and shifts, which are now const resident, and non color dependent. In that sense, the color to move template, is obsolete, and became a different paradigm where its not needed.
Before gigantua the fastest known movegenerator was 350MNPS. I raised this bar to 2.2 GNPS per thread. It is time to raise this bar again. I thought gpus can reach 100 GNPS, but I was wrong. That barrier was crossed The right exponent for nodes calculated per second BASE is TNPS. Without the TT.
Presenting Gigantua-warp (gpu engine)
Single RTX 3080 - no host ram taken. "root 2308.4" That is the speed without TT. That is 2308 Billion Nodes per second - 2 TNPS on a 3080 from 2020:
Code: Select all
run config: fen="rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1" depth=11
[2026-07-31 13:08:01:075] - level 1 returned
[2026-07-31 13:08:01:076] - Perft 1 20 120.7ms 0.000 GNodes/s
[2026-07-31 13:08:01:077] - expand(gpu): 20 -> 400 children, 400 unique
[2026-07-31 13:08:01:077] - level 2 returned
[2026-07-31 13:08:01:077] - Perft 2 400 122.3ms 0.000 GNodes/s
[2026-07-31 13:08:01:079] - expand(gpu): 400 -> 8902 children, 5362 unique
[2026-07-31 13:08:01:079] - level 3 returned
[2026-07-31 13:08:01:080] - Perft 3 8902 124.8ms 0.000 GNodes/s
[2026-07-31 13:08:01:084] - expand(gpu): 5362 -> 118522 children, 72078 unique
[2026-07-31 13:08:01:085] - level 4 returned
[2026-07-31 13:08:01:086] - Perft 4 197281 130.9ms 0.002 GNodes/s
[2026-07-31 13:08:01:108] - expand(gpu): 72078 -> 1797389 children, 822518 unique
[2026-07-31 13:08:01:124] - level 5 returned
[2026-07-31 13:08:01:126] - Perft 5 4865609 171.6ms 0.028 GNodes/s
[2026-07-31 13:08:01:320] - expand(gpu): 822518 -> 20197183 children, 9417683 unique
[2026-07-31 13:08:01:384] - level 6 returned
[2026-07-31 13:08:01:404] - Perft 6 119060324 449.1ms 0.265 GNodes/s
[2026-07-31 13:08:01:404] - Kernel execution time: 449.255700 milliseconds
[2026-07-31 13:08:01:404] - weighted frontier: depth 6, 9417683 unique roots (perft(6) = 119060324)
[2026-07-31 13:08:01:646] - [tt] tier sizing: 21761696/174093572/174093574 slots (5.67 GB tables, pow2 shape 24/27/27) scheme=fastrange f=1.30
[2026-07-31 13:08:01:929] - frontier staging: roots 2MB large pages, weights 2MB large pages
[2026-07-31 13:08:01:991] - Threads: 174080 (1360 x 128), Depth=5
[2026-07-31 13:08:02:095] - counting... 0.8% 71922/9417683 roots 0.1s elapsed 12570.4 GN/s root 341.8 ETA --
[2026-07-31 13:08:04:047] - counting... 5.3% 500996/9417683 roots 2.1s elapsed 62035.6 GN/s root 2941.6 ETA 16.1s
[2026-07-31 13:08:05:998] - counting... 9.6% 906180/9417683 roots 4.0s elapsed 55056.3 GN/s root 3171.2 ETA 18.9s
[2026-07-31 13:08:08:061] - counting... 13.7% 1293082/9417683 roots 6.1s elapsed 54167.3 GN/s root 3120.8 ETA 21.9s
[2026-07-31 13:08:10:013] - counting... 17.4% 1641718/9417683 roots 8.0s elapsed 51507.3 GN/s root 3193.2 ETA 24.8s
[2026-07-31 13:08:12:075] - counting... 21.3% 2004898/9417683 roots 10.1s elapsed 49897.6 GN/s root 3119.1 ETA 27.2s
[2026-07-31 13:08:14:025] - counting... 24.6% 2314336/9417683 roots 12.0s elapsed 48041.5 GN/s root 3064.3 ETA 29.8s
[2026-07-31 13:08:16:089] - counting... 27.8% 2619240/9417683 roots 14.1s elapsed 45805.9 GN/s root 2981.5 ETA 32.2s
[2026-07-31 13:08:18:043] - counting... 30.9% 2912664/9417683 roots 16.1s elapsed 44710.7 GN/s root 2918.3 ETA 33.7s
[2026-07-31 13:08:19:996] - counting... 34.0% 3204738/9417683 roots 18.0s elapsed 43412.1 GN/s root 2851.5 ETA 79.4s
[2026-07-31 13:08:22:056] - counting... 37.2% 3506324/9417683 roots 20.1s elapsed 42369.4 GN/s root 2784.7 ETA 78.6s
[2026-07-31 13:08:24:010] - counting... 39.9% 3761290/9417683 roots 22.0s elapsed 41078.7 GN/s root 2720.4 ETA 76.9s
[2026-07-31 13:08:26:072] - counting... 42.7% 4021764/9417683 roots 24.1s elapsed 40259.7 GN/s root 2667.2 ETA 76.1s
[2026-07-31 13:08:28:023] - counting... 45.0% 4241082/9417683 roots 26.0s elapsed 38987.2 GN/s root 2622.0 ETA 75.2s
[2026-07-31 13:08:30:084] - counting... 47.8% 4498334/9417683 roots 28.1s elapsed 38486.2 GN/s root 2588.2 ETA 73.3s
[2026-07-31 13:08:32:038] - counting... 50.1% 4718630/9417683 roots 30.0s elapsed 37762.6 GN/s root 2569.7 ETA 71.4s
[2026-07-31 13:08:33:993] - counting... 52.2% 4915496/9417683 roots 32.0s elapsed 36662.5 GN/s root 2535.3 ETA 71.7s
[2026-07-31 13:08:36:052] - counting... 54.6% 5139482/9417683 roots 34.1s elapsed 36114.6 GN/s root 2504.0 ETA 69.2s
[2026-07-31 13:08:38:005] - counting... 56.6% 5331624/9417683 roots 36.0s elapsed 35418.7 GN/s root 2474.7 ETA 69.2s
[2026-07-31 13:08:40:065] - counting... 58.6% 5515898/9417683 roots 38.1s elapsed 34507.9 GN/s root 2441.8 ETA 67.8s
[2026-07-31 13:08:42:017] - counting... 60.2% 5671912/9417683 roots 40.0s elapsed 33461.4 GN/s root 2409.6 ETA 69.1s
[2026-07-31 13:08:44:082] - counting... 62.2% 5862210/9417683 roots 42.1s elapsed 33107.7 GN/s root 2401.8 ETA 66.5s
[2026-07-31 13:08:46:034] - counting... 64.1% 6032344/9417683 roots 44.0s elapsed 32708.2 GN/s root 2388.4 ETA 65.7s
[2026-07-31 13:08:48:091] - counting... 65.8% 6199884/9417683 roots 46.1s elapsed 32210.2 GN/s root 2380.8 ETA 63.6s
[2026-07-31 13:08:50:053] - counting... 67.5% 6354486/9417683 roots 48.1s elapsed 31700.6 GN/s root 2380.4 ETA 63.0s
[2026-07-31 13:08:52:014] - counting... 69.0% 6496116/9417683 roots 50.0s elapsed 31071.9 GN/s root 2364.3 ETA 61.3s
[2026-07-31 13:08:54:075] - counting... 70.9% 6680822/9417683 roots 52.1s elapsed 30437.3 GN/s root 2346.4 ETA 58.4s
[2026-07-31 13:08:56:029] - counting... 73.1% 6883512/9417683 roots 54.0s elapsed 29955.7 GN/s root 2308.4 ETA 53.7s
[2026-07-31 13:08:58:093] - counting... 75.0% 7065444/9417683 roots 56.1s elapsed 29571.0 GN/s root 2274.0 ETA 51.3s
[2026-07-31 13:09:00:051] - counting... 76.7% 7221014/9417683 roots 58.1s elapsed 29090.2 GN/s root 2246.2 ETA 48.4s
[2026-07-31 13:09:02:005] - counting... 78.5% 7389164/9417683 roots 60.0s elapsed 28727.0 GN/s root 2215.9 ETA 45.5s
[2026-07-31 13:09:04:068] - counting... 80.3% 7566628/9417683 roots 62.1s elapsed 28363.7 GN/s root 2189.1 ETA 41.6s
[2026-07-31 13:09:06:023] - counting... 82.0% 7721916/9417683 roots 64.0s elapsed 28011.3 GN/s root 2168.2 ETA 29.0s
[2026-07-31 13:09:08:086] - counting... 83.7% 7879308/9417683 roots 66.1s elapsed 27615.1 GN/s root 2141.9 ETA 24.0s
[2026-07-31 13:09:10:037] - counting... 85.1% 8018812/9417683 roots 68.0s elapsed 27228.2 GN/s root 2120.3 ETA 21.0s
[2026-07-31 13:09:12:096] - counting... 86.8% 8174386/9417683 roots 70.1s elapsed 26905.6 GN/s root 2102.7 ETA 17.8s
[2026-07-31 13:09:14:047] - counting... 88.2% 8306258/9417683 roots 72.1s elapsed 26517.2 GN/s root 2088.7 ETA 15.4s
[2026-07-31 13:09:15:996] - counting... 89.5% 8426448/9417683 roots 74.0s elapsed 26156.8 GN/s root 2074.7 ETA 13.7s
[2026-07-31 13:09:18:058] - counting... 90.8% 8554082/9417683 roots 76.1s elapsed 25805.9 GN/s root 2061.7 ETA 12.0s
[2026-07-31 13:09:20:014] - counting... 92.0% 8666952/9417683 roots 78.0s elapsed 25452.2 GN/s root 2054.8 ETA 10.5s
[2026-07-31 13:09:22:072] - counting... 93.2% 8780554/9417683 roots 80.1s elapsed 25024.3 GN/s root 2045.2 ETA 8.9s
[2026-07-31 13:09:24:024] - counting... 94.4% 8893200/9417683 roots 82.0s elapsed 24664.4 GN/s root 2031.5 ETA 7.3s
[2026-07-31 13:09:26:087] - counting... 95.7% 9014292/9417683 roots 84.1s elapsed 24314.5 GN/s root 2018.2 ETA 5.7s
[2026-07-31 13:09:28:036] - counting... 96.8% 9120950/9417683 roots 86.0s elapsed 23970.4 GN/s root 2010.1 ETA 4.4s
[2026-07-31 13:09:30:095] - counting... 98.0% 9226228/9417683 roots 88.1s elapsed 23584.1 GN/s root 1996.6 ETA 2.9s
[2026-07-31 13:09:32:048] - counting... 99.4% 9357358/9417683 roots 90.1s elapsed 23204.8 GN/s root 1980.6 ETA 0.9s
[2026-07-31 13:09:33:459] - exact ladder: 4 leg(s) on 1 worker(s)
[2026-07-31 13:09:33:459] - leg 0: primary frontier, 9417683 roots at ply 6, endDepth 3 -> produces perft(9)
[2026-07-31 13:09:33:459] - leg 1: primary frontier, 9417683 roots at ply 6, endDepth 4 -> produces perft(10)
[2026-07-31 13:09:33:459] - leg 2: snapshot frontier, 72078 roots at ply 4, endDepth 3 -> produces perft(7)
[2026-07-31 13:09:33:459] - leg 3: snapshot frontier, 822518 roots at ply 5, endDepth 3 -> produces perft(8)
[2026-07-31 13:09:33:460] - exact ladder: leg 0 START (ply 9, endDepth 3) on gpu0 - 9417683 roots in 9 chunk(s)
[2026-07-31 13:09:34:383] - ladder leg 0 (ply 9): 100.0% 9417683/9417683 roots chunk 9/9 0.9s elapsed (kernel 0.3s) ETA --
[2026-07-31 13:09:34:384] - exact ladder: leg 0 DONE (ply 9) on gpu0 - wall 0.923 s, kernel 0.258 s
[2026-07-31 13:09:34:384] - exact ladder: leg 1 START (ply 10, endDepth 4) on gpu0 - 9417683 roots in 9 chunk(s)
[2026-07-31 13:09:36:477] - ladder leg 1 (ply 10): 44.5% 4194304/9417683 roots chunk 4/9 2.1s elapsed (kernel 1.8s) ETA 2.6s
[2026-07-31 13:09:39:083] - ladder leg 1 (ply 10): 89.1% 8388608/9417683 roots chunk 8/9 4.7s elapsed (kernel 4.1s) ETA 0.6s
[2026-07-31 13:09:39:877] - ladder leg 1 (ply 10): 100.0% 9417683/9417683 roots chunk 9/9 5.5s elapsed (kernel 4.8s) ETA --
[2026-07-31 13:09:39:877] - exact ladder: leg 1 DONE (ply 10) on gpu0 - wall 5.494 s, kernel 4.847 s
[2026-07-31 13:09:39:878] - exact ladder: leg 2 START (ply 7, endDepth 3) on gpu0 - 72078 roots in 1 chunk(s)
[2026-07-31 13:09:39:887] - ladder leg 2 (ply 7): 100.0% 72078/72078 roots chunk 1/1 0.0s elapsed (kernel 0.0s) ETA --
[2026-07-31 13:09:39:888] - exact ladder: leg 2 DONE (ply 7) on gpu0 - wall 0.010 s, kernel 0.002 s
[2026-07-31 13:09:39:888] - exact ladder: leg 3 START (ply 8, endDepth 3) on gpu0 - 822518 roots in 1 chunk(s)
[2026-07-31 13:09:39:985] - ladder leg 3 (ply 8): 100.0% 822518/822518 roots chunk 1/1 0.1s elapsed (kernel 0.0s) ETA --
[2026-07-31 13:09:39:985] - exact ladder: leg 3 DONE (ply 8) on gpu0 - wall 0.097 s, kernel 0.021 s
[2026-07-31 13:09:39:985] - exact ladder: all 4 leg(s) done - wall 6.527 s, kernel 5.129 s reported
[2026-07-31 13:09:39:997] - Perft 7 3195901860 (from the primary frontier)
[2026-07-31 13:09:39:998] - Perft 8 84998978956 (from the primary frontier)
[2026-07-31 13:09:39:998] - Perft 9 2439530234167 (from the primary frontier)
[2026-07-31 13:09:39:998] - Perft 10 69352859712417 (from the primary frontier)
[2026-07-31 13:09:39:998] - Kernel execution time: 91886.513512 milliseconds
[2026-07-31 13:09:39:998] - Kernel finished
[2026-07-31 13:09:39:998] - Total 1 20
[2026-07-31 13:09:39:998] - Total 2 400
[2026-07-31 13:09:39:998] - Total 3 8902
[2026-07-31 13:09:39:998] - Total 4 197281
[2026-07-31 13:09:39:998] - Total 5 4865609
[2026-07-31 13:09:39:998] - Total 6 119060324
[2026-07-31 13:09:39:998] - Total 7 3195901860
[2026-07-31 13:09:39:999] - Total 8 84998978956
[2026-07-31 13:09:39:999] - Total 9 2439530234167
[2026-07-31 13:09:39:999] - Total 10 69352859712417
[2026-07-31 13:09:39:999] - Perft 11 2097651003696806 91886.5ms 22828.714 GNodes/s
In words - 1 Million+ GN/s TT, 60 thousand billion nodes base perf ~ 7 thousand billion moves per card per second.
Code: Select all
[2026-07-31 11:33:09:546] - multi-GPU: 8 devices, 472514079 roots, chunk 7383032
[2026-07-31 11:33:09:547] - [gossip] OFF (default, pending re-earned dual-GPU A/B verdicts; CHESS_TT_GOSSIP=1 to enable)
[2026-07-31 11:34:17:800] - counting... 14.0% 59064256/472514079 roots 68.3s elapsed 294647.5 GN/s root 13142.9 ETA 418.7s (gpu1 done chunk at 22149096)
[2026-07-31 11:34:23:796] - counting... 15.4% 66447288/472514079 roots 74.2s elapsed 597959.4 GN/s root 25407.4 ETA 408.1s (gpu0 done chunk at 0)
[2026-07-31 11:34:36:790] - counting... 17.2% 73830320/472514079 roots 87.2s elapsed 718927.5 GN/s root 32967.6 ETA 420.0s (gpu4 done chunk at 29532128)
[2026-07-31 11:34:40:259] - counting... 18.7% 81213352/472514079 roots 90.7s elapsed 888768.0 GN/s root 42563.4 ETA 393.6s (gpu5 done chunk at 36915160)
[2026-07-31 11:34:41:029] - counting... 20.5% 88596384/472514079 roots 91.5s elapsed 1143660.4 GN/s root 55152.2 ETA 354.7s (gpu6 done chunk at 44298192)
[2026-07-31 11:34:47:375] - counting... 23.4% 95979416/472514079 roots 97.8s elapsed 1294082.4 GN/s root 63043.3 ETA 320.2s (gpu2 done chunk at 7383032)
[2026-07-31 11:34:58:019] - counting... 25.8% 103362448/472514079 roots 108.5s elapsed 1346282.8 GN/s root 66252.0 ETA 311.2s (gpu3 done chunk at 14766064)
[2026-07-31 11:35:03:555] - counting... 27.8% 110745480/472514079 roots 114.0s elapsed 1478256.8 GN/s root 74673.8 ETA 295.4s (gpu7 done chunk at 51681224)
[2026-07-31 11:35:55:883] - counting... 29.6% 118128512/472514079 roots 166.3s elapsed 1141088.8 GN/s root 57509.0 ETA 395.4s (gpu0 done chunk at 66447288)
[2026-07-31 11:36:29:803] - counting... 31.1% 125511544/472514079 roots 200.3s elapsed 1036932.5 GN/s root 53583.4 ETA 443.4s (gpu1 done chunk at 59064256)
[2026-07-31 11:36:31:366] - counting... 32.6% 132894576/472514079 roots 201.8s elapsed 1126915.5 GN/s root 58958.8 ETA 417.3s (gpu4 done chunk at 73830320)
[2026-07-31 11:36:32:091] - counting... 34.3% 140277608/472514079 roots 202.5s elapsed 1306162.9 GN/s root 64027.6 ETA 387.8s (gpu6 done chunk at 88596384)
[2026-07-31 11:36:50:006] - counting... 35.8% 147660640/472514079 roots 220.5s elapsed 1298424.2 GN/s root 63669.1 ETA 395.1s (gpu5 done chunk at 81213352)
[2026-07-31 11:36:55:629] - counting... 37.2% 155043672/472514079 roots 226.1s elapsed 1360324.4 GN/s root 66810.2 ETA 381.4s (gpu7 done chunk at 110745480)
[2026-07-31 11:37:01:502] - counting... 38.9% 162426704/472514079 roots 232.0s elapsed 1473883.9 GN/s root 70205.1 ETA 364.6s (gpu2 done chunk at 95979416)
[2026-07-31 11:37:08:727] - counting... 40.4% 169809736/472514079 roots 239.2s elapsed 1531668.0 GN/s root 72394.7 ETA 353.6s (gpu3 done chunk at 103362448)
[2026-07-31 11:38:12:774] - counting... 42.0% 177192768/472514079 roots 303.2s elapsed 1272358.3 GN/s root 60909.0 ETA 419.1s (gpu0 done chunk at 118128512)
[2026-07-31 11:38:46:350] - counting... 43.4% 184575800/472514079 roots 336.8s elapsed 1218804.1 GN/s root 58651.4 ETA 438.4s (gpu4 done chunk at 132894576)
[2026-07-31 11:38:51:548] - counting... 45.1% 191958832/472514079 roots 342.0s elapsed 1256700.8 GN/s root 61097.2 ETA 415.7s (gpu1 done chunk at 125511544)
[2026-07-31 11:39:13:615] - counting... 46.6% 199341864/472514079 roots 364.1s elapsed 1246229.5 GN/s root 61311.0 ETA 416.6s (gpu6 done chunk at 140277608)
[2026-07-31 11:39:14:947] - counting... 48.4% 206724896/472514079 roots 365.4s elapsed 1310388.2 GN/s root 64782.8 ETA 390.3s (gpu7 done chunk at 155043672)
[2026-07-31 11:39:20:766] - counting... 50.0% 214107928/472514079 roots 371.2s elapsed 1341358.9 GN/s root 66698.9 ETA 370.7s (gpu3 done chunk at 169809736)
[2026-07-31 11:39:31:911] - counting... 51.6% 221490960/472514079 roots 382.4s elapsed 1355480.7 GN/s root 68120.0 ETA 359.1s (gpu5 done chunk at 147660640)
[2026-07-31 11:39:42:551] - counting... 53.0% 228873992/472514079 roots 393.0s elapsed 1377451.7 GN/s root 69853.2 ETA 348.4s (gpu2 done chunk at 162426704)
[2026-07-31 11:40:41:254] - counting... 54.6% 236257024/472514079 roots 451.7s elapsed 1236558.4 GN/s root 63137.8 ETA 375.0s (gpu0 done chunk at 177192768)
[2026-07-31 11:40:53:384] - counting... 56.1% 243640056/472514079 roots 463.8s elapsed 1247826.3 GN/s root 63799.5 ETA 362.8s (gpu4 done chunk at 184575800)
[2026-07-31 11:41:20:257] - counting... 57.7% 251023088/472514079 roots 490.7s elapsed 1217727.5 GN/s root 62344.4 ETA 360.0s (gpu6 done chunk at 199341864)
[2026-07-31 11:41:28:689] - counting... 59.1% 258406120/472514079 roots 499.1s elapsed 1233955.1 GN/s root 63502.5 ETA 346.0s (gpu1 done chunk at 191958832)
[2026-07-31 11:41:40:267] - counting... 60.4% 265789152/472514079 roots 510.7s elapsed 1244538.7 GN/s root 64079.4 ETA 335.0s (gpu7 done chunk at 206724896)
[2026-07-31 11:42:03:707] - counting... 62.1% 273172184/472514079 roots 534.2s elapsed 1234114.9 GN/s root 63835.6 ETA 326.5s (gpu3 done chunk at 214107928)
[2026-07-31 11:42:04:774] - counting... 63.6% 280555216/472514079 roots 535.2s elapsed 1274396.7 GN/s root 66042.8 ETA 306.5s (gpu2 done chunk at 228873992)
[2026-07-31 11:42:30:653] - counting... 65.9% 287938248/472514079 roots 561.1s elapsed 1251193.0 GN/s root 65170.3 ETA 290.8s (gpu5 done chunk at 221490960)
[2026-07-31 11:43:18:387] - counting... 68.1% 295321280/472514079 roots 608.8s elapsed 1189107.4 GN/s root 62062.2 ETA 285.6s (gpu4 done chunk at 243640056)
[2026-07-31 11:43:20:585] - counting... 69.7% 302704312/472514079 roots 611.0s elapsed 1216638.2 GN/s root 63747.8 ETA 265.9s (gpu0 done chunk at 236257024)
[2026-07-31 11:43:47:108] - counting... 71.2% 310087344/472514079 roots 637.6s elapsed 1200724.6 GN/s root 62926.4 ETA 257.3s (gpu7 done chunk at 265789152)
[2026-07-31 11:44:04:435] - counting... 72.7% 317470376/472514079 roots 654.9s elapsed 1201685.1 GN/s root 63359.1 ETA 245.9s (gpu6 done chunk at 251023088)
[2026-07-31 11:44:30:942] - counting... 74.1% 324853408/472514079 roots 681.4s elapsed 1182918.2 GN/s root 62755.1 ETA 237.7s (gpu1 done chunk at 258406120)
[2026-07-31 11:44:39:641] - counting... 75.5% 332236440/472514079 roots 690.1s elapsed 1198725.2 GN/s root 63758.0 ETA 223.7s (gpu3 done chunk at 273172184)
[2026-07-31 11:44:46:033] - counting... 77.1% 339619472/472514079 roots 696.5s elapsed 1230836.4 GN/s root 64791.0 ETA 207.2s (gpu2 done chunk at 280555216)
[2026-07-31 11:45:39:622] - counting... 79.0% 347002504/472514079 roots 750.1s elapsed 1183726.1 GN/s root 61718.7 ETA 199.2s (gpu5 done chunk at 287938248)
[2026-07-31 11:46:43:710] - counting... 80.9% 354385536/472514079 roots 814.2s elapsed 1121255.8 GN/s root 58576.2 ETA 191.7s (gpu4 done chunk at 295321280)
[2026-07-31 11:46:45:014] - counting... 82.4% 361768568/472514079 roots 815.5s elapsed 1145688.0 GN/s root 59993.5 ETA 174.1s (gpu0 done chunk at 302704312)
[2026-07-31 11:47:03:006] - counting... 83.7% 368690162/472514079 roots 833.5s elapsed 1144747.3 GN/s root 60169.9 ETA 162.6s (gpu7 done chunk at 310087344)
[2026-07-31 11:47:22:689] - counting... 84.7% 375179156/472514079 roots 853.1s elapsed 1138501.9 GN/s root 59953.0 ETA 153.9s (gpu3 done chunk at 332236440)
[2026-07-31 11:47:23:289] - counting... 85.7% 381262588/472514079 roots 853.7s elapsed 1164402.6 GN/s root 61087.2 ETA 142.2s (gpu2 done chunk at 339619472)
[2026-07-31 11:47:32:108] - counting... 86.5% 386965806/472514079 roots 862.6s elapsed 1176591.4 GN/s root 61947.8 ETA 134.3s (gpu6 done chunk at 317470376)
[2026-07-31 11:47:48:747] - counting... 88.0% 392312573/472514079 roots 879.2s elapsed 1175655.3 GN/s root 62160.6 ETA 120.1s (gpu1 done chunk at 324853408)
[2026-07-31 11:48:56:012] - counting... 89.1% 397325167/472514079 roots 946.5s elapsed 1119119.8 GN/s root 58954.5 ETA 115.8s (gpu5 done chunk at 347002504)
[2026-07-31 11:49:30:451] - counting... 90.0% 402024474/472514079 roots 980.9s elapsed 1090387.2 GN/s root 57783.8 ETA 109.5s (gpu2 done chunk at 381262588)
[2026-07-31 11:49:42:048] - counting... 90.8% 406430074/472514079 roots 992.5s elapsed 1095045.9 GN/s root 58238.5 ETA 100.4s (gpu0 done chunk at 361768568)
[2026-07-31 11:49:43:060] - counting... 91.7% 410560324/472514079 roots 993.5s elapsed 1106466.8 GN/s root 59097.8 ETA 89.6s (gpu3 done chunk at 375179156)
[2026-07-31 11:49:48:581] - counting... 92.5% 414432433/472514079 roots 999.0s elapsed 1119673.8 GN/s root 59627.1 ETA 81.2s (gpu6 done chunk at 386965806)
[2026-07-31 11:49:49:666] - counting... 93.2% 418062535/472514079 roots 1000.1s elapsed 1132712.2 GN/s root 60634.2 ETA 73.2s (gpu7 done chunk at 368690162)
[2026-07-31 11:50:01:931] - counting... 93.9% 421465756/472514079 roots 1012.4s elapsed 1137929.9 GN/s root 61050.9 ETA 66.1s (gpu4 done chunk at 354385536)
[2026-07-31 11:50:05:068] - counting... 94.4% 424656276/472514079 roots 1015.5s elapsed 1148150.1 GN/s root 61610.7 ETA 59.8s (gpu1 done chunk at 392312573)
[2026-07-31 11:51:09:474] - counting... 95.0% 427647388/472514079 roots 1079.9s elapsed 1089611.9 GN/s root 58602.1 ETA 56.5s (gpu5 done chunk at 397325167)
[2026-07-31 11:51:22:099] - counting... 95.5% 430451556/472514079 roots 1092.6s elapsed 1086572.3 GN/s root 58526.2 ETA 51.4s (gpu2 done chunk at 402024474)
[2026-07-31 11:51:31:082] - counting... 96.0% 433080463/472514079 roots 1101.5s elapsed 1086820.5 GN/s root 58566.5 ETA 45.5s (gpu7 done chunk at 418062535)
[2026-07-31 11:51:37:210] - counting... 96.3% 435545064/472514079 roots 1107.7s elapsed 1091482.5 GN/s root 58816.4 ETA 42.4s (gpu0 done chunk at 406430074)
[2026-07-31 11:51:38:341] - counting... 96.5% 437855627/472514079 roots 1108.8s elapsed 1099540.4 GN/s root 59316.4 ETA 39.8s (gpu3 done chunk at 410560324)
[2026-07-31 11:51:41:470] - counting... 96.7% 440021780/472514079 roots 1111.9s elapsed 1103969.0 GN/s root 59616.5 ETA 37.5s (gpu1 done chunk at 424656276)
[2026-07-31 11:51:44:331] - counting... 97.0% 442052548/472514079 roots 1114.8s elapsed 1110078.3 GN/s root 60023.7 ETA 34.8s (gpu6 done chunk at 414432433)
[2026-07-31 11:51:53:233] - counting... 97.3% 443956393/472514079 roots 1123.7s elapsed 1108952.5 GN/s root 60036.8 ETA 31.5s (gpu4 done chunk at 421465756)
[2026-07-31 12:00:10:350] - Kernel execution time: 1305071.746375 milliseconds
[2026-07-31 12:00:10:350] - Kernel finished
[2026-07-31 12:00:10:350] - Total 1 48
[2026-07-31 12:00:10:350] - Total 2 2039
[2026-07-31 12:00:10:350] - Total 3 97862
[2026-07-31 12:00:10:350] - Total 4 4085603
[2026-07-31 12:00:10:350] - Total 5 193690690
[2026-07-31 12:00:10:350] - Total 6 8031647685
[2026-07-31 12:00:10:350] - Total 7 374190009323
[2026-07-31 12:00:10:350] - Total 8 15493944087984
[2026-07-31 12:00:10:350] - Total 9 708027759953502
[2026-07-31 12:00:10:350] - Total 10 29344805396643919
[2026-07-31 12:00:10:350] - Perft 11 1315487952573035776 1305071.7ms 1007981.328 GNodes/sDear chess community, this performance, is the new baseline for chess movegeneration. Scalable, host ram free up to ply 13.
The board structure itself can also be quite large, so attaching more metrics wont be too expensive either.
Architecture and P14, P15 times will be shared in due time.
P14 8x 5090 -
Code: Select all
[2026-07-31 01:33:49:665] - counting... 99.6% 9147777024/9183507426 roots 5556.7s elapsed 44191.9 GN/s root 44191.9 ETA 21.7s
[2026-07-31 01:33:52:404] - counting... 99.7% 9151971328/9183507426 roots 5559.4s elapsed 44187.4 GN/s root 44187.4 ETA 19.2s
[2026-07-31 01:33:55:418] - counting... 99.7% 9156165632/9183507426 roots 5562.4s elapsed 44176.6 GN/s root 44176.6 ETA 16.6s
[2026-07-31 01:33:57:357] - counting... 99.7% 9160359936/9183507426 roots 5564.4s elapsed 44176.3 GN/s root 44176.3 ETA 14.1s
[2026-07-31 01:33:59:201] - counting... 99.8% 9164554240/9183507426 roots 5566.2s elapsed 44176.7 GN/s root 44176.7 ETA 11.5s
[2026-07-31 01:34:00:388] - counting... 99.8% 9166730210/9183507426 roots 5567.4s elapsed 44176.7 GN/s root 44176.7 ETA 10.2s
[2026-07-31 01:34:00:830] - counting... 99.9% 9170924514/9183507426 roots 5567.8s elapsed 44189.8 GN/s root 44189.8 ETA 7.6s
[2026-07-31 01:34:09:141] - counting... 99.9% 9175118818/9183507426 roots 5576.1s elapsed 44141.4 GN/s root 44141.4 ETA 5.1s
[2026-07-31 01:34:11:742] - counting... 100.0% 9179313122/9183507426 roots 5578.7s elapsed 44139.5 GN/s root 44139.5 ETA 2.5s
[2026-07-31 01:34:13:225] - counting... 100.0% 9183507426/9183507426 roots 5580.2s elapsed 44146.9 GN/s root 44146.9 ETA --
[2026-07-31 01:34:13:481] - rootdedup: streamed counting consumed 9183507426 roots (5492.475 s gpu)
[2026-07-31 01:34:13:482] - rootdedup: 988192872 -> 28668701726 children, 9183507426 unique (5917.359 s total)
[2026-07-31 01:34:13:937] - level 9 returned
[2026-07-31 01:34:13:937] - Perft 9 2439530234167 5969133.9ms 0.409 GNodes/s
[2026-07-31 01:34:14:336] - stream-count: folded 2190 chunk totals -> 61885021521585529237
[2026-07-31 01:34:13:937] - Kernel execution time: 5969134.016088 milliseconds
[2026-07-31 01:34:13:937] - weighted frontier: depth 9, 9183507426 unique roots (perft(9) = 2439530234167)
[2026-07-31 01:34:13:944] - frontier staging: roots 2MB transparent huge pages, weights 2MB transparent huge pages
[2026-07-31 01:34:14:369] - Perft 1 20
[2026-07-31 01:34:14:369] - Perft 2 400
[2026-07-31 01:34:14:369] - Perft 3 8902
[2026-07-31 01:34:14:369] - Perft 4 197281
[2026-07-31 01:34:14:369] - Perft 5 4865609
[2026-07-31 01:34:14:369] - Perft 6 119060324
[2026-07-31 01:34:14:369] - Perft 7 3195901860
[2026-07-31 01:34:14:369] - Perft 8 84998978956
[2026-07-31 01:34:14:369] - Perft 9 2439530234167
[2026-07-31 01:34:14:369] - Perft 14 61885021521585529237 5969134.0ms 10367504.123 GNodes/s
[2026-07-31 01:34:14:369] - target perft(14): 5969.134 s (cleared tt)
[2026-07-31 01:34:14:369] - [serve] vram free 5477 MB
[2026-07-31 01:34:14:369] - OK 61885021521585529237We have entered a truly golden era for computerchess.
