This repository combines the Nibbler chess GUI with Leela Chess Zero, the UCI-compliant neural network chess engine, as prebuilt binaries for MacOS.
@fohristiwhirl is the creator of the Nibbler chess GUI. Without a MacOS system, it's challenging to integrate Nibbler, with the Electron software framework for MacOS. Until he figured this out and provides a MacOS build of Nibbler, you can use this Nibbler-for-macOS release. It contains
-
Nibbler Chess GUI from https://github.com/fohristiwhirl/nibbler
-
Electron Framework from https://github.com/electron/electron
-
Chess engine Lc0 from https://github.com/LeelaChessZero/lc0 compiled with clang 9.0 for OpenCL and BLAS (Apple vecLib) backends
The chess engine Lc0 needs a weights file (network).
- download the release file (not the source code) from https://github.com/twoplan/Nibbler-for-macOS/releases
- unpack this zip-file to a directory of your choice (you probably just did this)
- start Nibbler.app (use right click and open)
- from the menu entry
Engine
select your path to a (previous downloaded) weights file and the lc0 chess engine (inside this folder, named lc0) - choose a backend: blas (uses cpu) or opencl (uses gpu)
- you are ready now; take a look at menu entry
Electron/About
You can help yourself:
- download and unpack the latest source code of Nibbler from https://github.com/fohristiwhirl/nibbler/releases
- replace all files in
Nibbler.app/Contents/Resources/app/
with them
- the first time a new network size is selected for backend opencl, leelaz_opencl_tuning gets created or updated. Depending on your gpu, this can take some minutes.
- use the opencl backend on MacBooks with care. It could overheat your system. Check this with Intel power gadget https://software.intel.com/en-us/articles/intel-power-gadget
- all settings can manually be edited; they are saved in
~/Library/Application Support/Nibbler/config.json
- got these nps values with blas and opencl for different network sizes:
size 320x24: (60130, go nodes 1000) 38 nps (blas) | 42 nps (opencl)
size 256x20: (42850, go nodes 1000) 37 nps (blas) | 22 nps (opencl)
size 128x10: (56170, go nodes 10000) 383 nps (blas) | 406 nps (opencl)
11258-48x5-se: (go nodes 10000) 2730 nps (blas) | 175 nps (opencl)