I wanted to make a quick post about the recent developments on TGCT (The grand chess tree)
I've added various tools that I hope are useful for engine dev, specifically when building your move generator, including: FEN / PGN / Bitboard visualisers, an online WASM perft tool, and a CLI perft test suite.
https://grandchesstree.com/tools
I've also started work on 'perftwars' which is essentially a move generator leaderboard (still a WIP), so far it's ranked 13 popular move generators / engines. I've been especially impressed by mperft which clocked in at 171B nps on my test rig (multi threaded + hashing), truly insane performance.
https://grandchesstree.com/leaderboard
Will happily add any other (cpu for now) move generators / engines people want to see tested.
Perft world leaderboards + engine dev utilities
Moderator: Ras
-
Sapling
- Posts: 24
- Joined: Sun Oct 13, 2024 7:31 pm
- Location: UK
- Full name: Tim Jones
Perft world leaderboards + engine dev utilities
The Grand Chess Tree - Distributed volunteer computing project
Sapling - 3380 ELO [CCRL] UCI chess engine
Sapling - 3380 ELO [CCRL] UCI chess engine
-
abulmo2
- Posts: 494
- Joined: Fri Dec 16, 2016 11:04 am
- Location: France
- Full name: Richard Delorme
Re: Perft world leaderboards + engine dev utilities
Nice to see that mperft performance impressed you. I saw from the json files you ran mperft with the --bulk option. You should try the --nullmove option instead, that is faster, using tricks discussed here: viewtopic.php?t=86085.
Richard Delorme
-
jasper.sinclair
- Posts: 16
- Joined: Fri Nov 17, 2023 2:50 am
- Location: USA
- Full name: Jasper Sinclair
Re: Perft world leaderboards + engine dev utilities
https://github.com/AriaKafie/chessnut
modernized:
https://github.com/FireFather/chessnut
perft 7
nodes 3195901860
time 5856 ms
also, possibly of interest:
https://github.com/FireFather/perft-times
(unfortunately not updated for 2 years)
modernized:
https://github.com/FireFather/chessnut
perft 7
nodes 3195901860
time 5856 ms
also, possibly of interest:
https://github.com/FireFather/perft-times
(unfortunately not updated for 2 years)
-
jasper.sinclair
- Posts: 16
- Joined: Fri Nov 17, 2023 2:50 am
- Location: USA
- Full name: Jasper Sinclair
Re: Perft world leaderboards + engine dev utilities
perft 7
https://github.com/rafid-dev/jet
6.30 s
507286009
https://github.com/lucametehau/CloverEngine
7.46 s
428405075
https://github.com/Hin-Yu-Evan-Fung/Mae ... ess-Engine
7.65 s
417764949
and as someone aleady suggested: Xiphos
7.33 s
https://github.com/rafid-dev/jet
6.30 s
507286009
https://github.com/lucametehau/CloverEngine
7.46 s
428405075
https://github.com/Hin-Yu-Evan-Fung/Mae ... ess-Engine
7.65 s
417764949
and as someone aleady suggested: Xiphos
7.33 s
-
Sapling
- Posts: 24
- Joined: Sun Oct 13, 2024 7:31 pm
- Location: UK
- Full name: Tim Jones
Re: Perft world leaderboards + engine dev utilities
Thank you for the suggestions!
I've benchmarked all here:
https://grandchesstree.com/leaderboard
caps #7 789M nps
clover #9, 652M nps
xiphos #10, 621M nps
chessnut #16, 463M nps
maestro #19 401M nps
- Jet didn't pass my test suite, opened a GH issue https://github.com/rafid-dev/jet/issues/26
I've benchmarked all here:
https://grandchesstree.com/leaderboard
caps #7 789M nps
clover #9, 652M nps
xiphos #10, 621M nps
chessnut #16, 463M nps
maestro #19 401M nps
- Jet didn't pass my test suite, opened a GH issue https://github.com/rafid-dev/jet/issues/26
The Grand Chess Tree - Distributed volunteer computing project
Sapling - 3380 ELO [CCRL] UCI chess engine
Sapling - 3380 ELO [CCRL] UCI chess engine
-
Aleks Peshkov
- Posts: 1002
- Joined: Sun Nov 19, 2006 9:16 pm
- Location: Russia
- Full name: Aleks Peshkov
Re: Perft world leaderboards + engine dev utilities
My engine petrel was originally designed with perft in mind. Current perft code is not heavily optimised as it updates some redundant chess data but it still relatively fast as it uses hash.
Syntax: "perft D". It can change hash size with standard UCI Hash setoption.
Syntax: "perft D". It can change hash size with standard UCI Hash setoption.