Chess engine: Mantissa 3.7.2 NNUE (windows, android and linux)
Alright, still no 4.0.0 yet, but that one's going to come with FRC/DFRC (still needs some work and maybe a net) and Tablebase support (I have a branch with this but not sufficiently tested), and likely more.
In the meantime, I haven't been doing nothing. Since TCEC S23 is rolling around, a new version of Mantissa is participating: v3.7.2. There have been a number of changes:
Fixed a node double counting bug (so nodecounts may look a little lower, but that's misleading: they were inflated before)
Several search improvements, most notably the introduction of followup history and countermove history tables as well as pruning based on them
Improved quiescence search, which now can evade checks and more properly prunes moves.
A wider, new net trained from 330 million positions of Mantissa-3.3.0 self-play games
Several performance optimizations to offset the nodecount deflation and width of the new net as much as possible
SPSA tuned search parameters. This is still pretty experimental for me and I'm looking to improve my tuner a lot. It's not really written to be useful to anyone except me (my own folder structure is hardcoded in), but it's in tuner.py if anyone is curious how to get started on their own tuner.
All told, on my machine, Mantissa 3.7.2 shows a difference of ~150 Elo in self-play against Mantissa 3.3.0 at 2 minutes + 1 second time control. I'm not sure how that will translate to play against a pool of other engines and on various machines or different opening books.
This release also sees the reintroduction of Pocket Mantissa (i.e. just Mantissa compiled for android). The SIMD library in rust nightly made this easier, since it meant I don't have to write separate NNUE implementations for different featuresets anymore. It's compatible with DroidFish at the very least. I provide very little warranty of guarantee for android Mantissa, I don't have very much experience with this kind of cross-compiling.
I know it's been a while since the previous release, but while I take breaks from time to time, the project is still rolling forward. Thanks!
Which Binary do I use?
Technically, Mantissa should play strongest with AVX2 support. If your machine supports AVX2, I recommend getting the linux or windows version ending in -avx2 depending on your OS.
For those on slightly older hardware, I'm also attaching versions that work with AVX support and SSE3 support. The "weakest", but most portable versions are those ending in "-sse3-no-popcnt".
If you're interested in running Mantissa with a GUI like DroidFish on Android, the aarch64 binary is the one you want.
I've never compiled for Mac OS X before, and haven't had any requests to, but if you'd like me to begin doing so, reach out and I'll figure it out. If any of the builds don't work as advertised, please feel free to reach out or open an issue and I'll try to respond in a timely manner.
No executable files found.
ReplyDelete