Chess Engines binaries for Raspberry Pi 4 Linux 64 bits

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

abulmo2
Posts: 433
Joined: Fri Dec 16, 2016 11:04 am
Location: France
Full name: Richard Delorme

Re: Chess Engines binaries for Raspberry Pi 4 Linux 64 bits

Post by abulmo2 »

Pi4Chess wrote: Fri Jan 15, 2021 10:00 pm -Dumb 1.7
30 days download link : https://pixeldrain.com/u/jsbeyF8N
I added an official release for rpi4 on Dumb's github page:
https://github.com/abulmo/Dumb/releases ... -linux.zip
I compiled it on raspberry pi OS, using ldc-1.24.0.
Richard Delorme
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Chess Engines binaries for Raspberry Pi 4 Linux 64 bits

Post by xr_a_y »

jshriver wrote: Sun Jan 17, 2021 12:24 pm I've been building natively using gcc or clang. I'll try tossing the armv8 (64bit) gcc on one of my x86 linux boxes and see if I can get it to work.

When I first checked your executable using file, i could see it was a 32bit elf format, why I tried it out on my pi zero (which is 32bit). My guess is you'll need a new toolchain to target pi 4's specifically because they are not only 64bit, but also armv8 based not armv7.

But your build runs beautiful on my 32bit pi's.

Cheers

As for the NN builds I think it's the NN causing the low nps. I wll have to retry running the r3 builds as they are cpu only and dont use a NN. Can't remember what they ran but knew it was much higher.
So in terms of naming of exe I shall go for minic3.04_armv7_linux_x32 and minic3.04_armv8_linux_x64 ?
Pi4Chess
Posts: 253
Joined: Mon Nov 16, 2020 12:13 pm
Full name: Manuel Rivera

Re: Chess Engines binaries for Raspberry Pi 4 Linux 64 bits

Post by Pi4Chess »

abulmo2 wrote: Sun Jan 17, 2021 12:30 pm
Pi4Chess wrote: Fri Jan 15, 2021 10:00 pm -Dumb 1.7
30 days download link : https://pixeldrain.com/u/jsbeyF8N
I added an official release for rpi4 on Dumb's github page:
https://github.com/abulmo/Dumb/releases ... -linux.zip
I compiled it on raspberry pi OS, using ldc-1.24.0.
Good news !
It works !

Some info for you :
My binary was compiled with gdc 10.2 : 2312 kns and 604 kb binary.
Yours on same position is 2140 kns and 904 kb binary.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Chess Engines binaries for Raspberry Pi 4 Linux 64 bits

Post by xr_a_y »

ok new try

https://github.com/tryingsomestuff/Mini ... ter/Minic3

minic_3.03_linux_x32_armv7

and

minic_3.03_linux_x64_armv8

tell me ;)
User avatar
jshriver
Posts: 1342
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: Chess Engines binaries for Raspberry Pi 4 Linux 64 bits

Post by jshriver »

xr_a_y wrote: Sun Jan 17, 2021 2:21 pm minic_3.03_linux_x64_armv8

tell me ;)
Looks like you have it, it loads fine on Pi4 64bit. Hit an odd issue though maybe you can give me a pointer.

Code: Select all

jshriver@Fischer:~$ ./minic_3.03_linux_x64_armv8
info string This is Minic version 3.03 (NNUE available)
info string Info  2021-01-17 09:26:50-920: No NNUE net loaded, using standard evaluation
uci
id name Minic 3.03
id author Vivien Clauzon
option name Level type spin default 100 min 0 max 100
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 1500 min 500 max 2800
option name Hash type spin default 128 min 1 max 256000
option name Threads type spin default 1 min 1 max 255
option name UCI_Chess960 type check default false
option name Ponder type check default false
option name MateFinder type check default false
option name MultiPV type spin default 1 min 1 max 4
option name RandomOpen type spin default 0 min 0 max 100
option name MinMoveOverHead type spin default 50 min 10 max 1000
option name Contempt type spin default 12 min -50 max 50
option name ContemptMG type spin default 12 min -50 max 50
option name SyzygyPath type string default
option name NNUEFile type string default
option name forceNNUE type check default false
option name StyleAttack type spin default 50 min 0 max 100
option name StyleComplexity type spin default 50 min 0 max 100
option name StyleDevelopment type spin default 50 min 0 max 100
option name StyleMaterial type spin default 50 min 0 max 100
option name StyleMobility type spin default 50 min 0 max 100
option name StylePositional type spin default 50 min 0 max 100
option name StyleForwardness type spin default 50 min 0 max 100
uciok
go
info string Fatal 2021-01-17 09:26:59-835: bad timing configuration ... (missing dynamic time info for sudden death style TC)
terminate called after throwing an instance of 'std::system_error'
  what():  Resource deadlock avoided
Aborted (core dumped)
jshriver@Fischer:~$
Edit: I tried "go depth 16" and "go infinite" and those worked without issue.
Last edited by jshriver on Sun Jan 17, 2021 3:37 pm, edited 1 time in total.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: Chess Engines binaries for Raspberry Pi 4 Linux 64 bits

Post by xr_a_y »

jshriver wrote: Sun Jan 17, 2021 3:29 pm
xr_a_y wrote: Sun Jan 17, 2021 2:21 pm minic_3.03_linux_x64_armv8

tell me ;)
Looks like you have it, it loads fine on Pi4 64bit. Hit an odd issue though maybe you can give me a pointer.

Code: Select all

jshriver@Fischer:~$ ./minic_3.03_linux_x64_armv8
info string This is Minic version 3.03 (NNUE available)
info string Info  2021-01-17 09:26:50-920: No NNUE net loaded, using standard evaluation
uci
id name Minic 3.03
id author Vivien Clauzon
option name Level type spin default 100 min 0 max 100
option name UCI_LimitStrength type check default false
option name UCI_Elo type spin default 1500 min 500 max 2800
option name Hash type spin default 128 min 1 max 256000
option name Threads type spin default 1 min 1 max 255
option name UCI_Chess960 type check default false
option name Ponder type check default false
option name MateFinder type check default false
option name MultiPV type spin default 1 min 1 max 4
option name RandomOpen type spin default 0 min 0 max 100
option name MinMoveOverHead type spin default 50 min 10 max 1000
option name Contempt type spin default 12 min -50 max 50
option name ContemptMG type spin default 12 min -50 max 50
option name SyzygyPath type string default
option name NNUEFile type string default
option name forceNNUE type check default false
option name StyleAttack type spin default 50 min 0 max 100
option name StyleComplexity type spin default 50 min 0 max 100
option name StyleDevelopment type spin default 50 min 0 max 100
option name StyleMaterial type spin default 50 min 0 max 100
option name StyleMobility type spin default 50 min 0 max 100
option name StylePositional type spin default 50 min 0 max 100
option name StyleForwardness type spin default 50 min 0 max 100
uciok
go
info string Fatal 2021-01-17 09:26:59-835: bad timing configuration ... (missing dynamic time info for sudden death style TC)
terminate called after throwing an instance of 'std::system_error'
  what():  Resource deadlock avoided
Aborted (core dumped)
jshriver@Fischer:~$
Good news ;)

Minic does not like "go" without time specified. You can

Code: Select all

go depth 10
or

Code: Select all

go infinite
or specify some wtime and btime remaining with movetogo or just movetime, ....
In fact I don't know what the uci standard says for just "go".I'll check.
User avatar
jshriver
Posts: 1342
Joined: Wed Mar 08, 2006 9:41 pm
Location: Morgantown, WV, USA

Re: Chess Engines binaries for Raspberry Pi 4 Linux 64 bits

Post by jshriver »

xr_a_y wrote: Sun Jan 17, 2021 3:36 pm
Minic does not like "go" without time specified. You can

Code: Select all

go depth 10
or

Code: Select all

go infinite
or specify some wtime and btime remaining or movetime, ....
In fact I don't know what the uci standard says for just "go".I'll check.
That did it :) works fine. With 4 threads, getting about 940k nps

Going to check out your github for a neural net.

Edit for others:
wget https://github.com/tryingsomestuff/NNUE ... emesis.bin
setoption name NNUEFile value nettling_nemesis.bin
abulmo2
Posts: 433
Joined: Fri Dec 16, 2016 11:04 am
Location: France
Full name: Richard Delorme

Re: Chess Engines binaries for Raspberry Pi 4 Linux 64 bits

Post by abulmo2 »

Pi4Chess wrote: Sun Jan 17, 2021 12:55 pm Some info for you :
My binary was compiled with gdc 10.2 : 2312 kns and 604 kb binary.
Yours on same position is 2140 kns and 904 kb binary.
Your binary does not work on Raspberry Pi OS (missing library). Mine has been statically linked against phobos (the D library) and the D runtime so it should word on a wider number of Linux distribution. Unfortunately gdc 10 is not available for Raspberry Pi OS and I can not try it.

Note, that your C++ compilations of other engines does not run either on Raspberry Pi OS, the c++ library requested being too recent for this Debian OS.
Richard Delorme
Pi4Chess
Posts: 253
Joined: Mon Nov 16, 2020 12:13 pm
Full name: Manuel Rivera

Re: Chess Engines binaries for Raspberry Pi 4 Linux 64 bits

Post by Pi4Chess »

abulmo2 wrote: Sun Jan 17, 2021 10:53 pm
Pi4Chess wrote: Sun Jan 17, 2021 12:55 pm Some info for you :
My binary was compiled with gdc 10.2 : 2312 kns and 604 kb binary.
Yours on same position is 2140 kns and 904 kb binary.
Your binary does not work on Raspberry Pi OS (missing library). Mine has been statically linked against phobos (the D library) and the D runtime so it should word on a wider number of Linux distribution. Unfortunately gdc 10 is not available for Raspberry Pi OS and I can not try it.

Note, that your C++ compilations of other engines does not run either on Raspberry Pi OS, the c++ library requested being too recent for this Debian OS.
Sad to hear that. Hopefully Raspberry Pi OS may upgrade sooner or later.
Yeah my compiles are not static ones in general unless author has decided in makefile.
Pi4Chess
Posts: 253
Joined: Mon Nov 16, 2020 12:13 pm
Full name: Manuel Rivera

Re: Chess Engines binaries for Raspberry Pi 4 Linux 64 bits

Post by Pi4Chess »

New updated collection archive of pi4 chess engines binaries 18/01/2021 !

-These work with Ubuntu Mate 64 bits on Raspberry Pi4 but may not work on other linux distributions depending on libs available.
-All engines with -stand in folder are static android builds that work on rpi4 compiled by Archimedes

Added 3 new Archimedes static updated engines : Cheng 4.40, rtucano 9.07 and Koivisto 4.24
Added the MikeB IX-NN engines family compiled by jshriver
Added all the updated and new engines compiled by me since last collection archive.

We have 4 engines compiled by authors (if i don't forget any) : Cfish 12, Pedone 3, Dumb 1.7 and Minic 3.03 !

Here is the link to download the 667Mb archive :

Here is the list of engines :

-Achillees
-Amoeba 3.2
-Arasan 22.1 & 21.4
-ArmFishL
-Beef 0.6.3
-Bell 0.41
-Belofte 2.0.82 (Static Android)
-BetsabeII 1.30
-Bismarck
-Brainfish 240720 Final
-Brainlearn 12.1
-CeeChess 1.3 (Static Android)
-Cfish 12
-Chareth 0.1
-Cheng 4.40 (Static Android)
-Chesley
-Chess-at-nite
-Chessier 0.1
-Chessika 2.27
-Cicada 0.1
-Claudia
-CleverGirl
-Combusken 1.4
-Counter 3.7dev2
-Crafty 23.4
-Monochrome (cpirc)
-Crystal 3.1 and 3.0
-CT800 1.41
-Defenchess 2.2
-Delocto 09/12/2020
-Demolito 0920
-Diablo 0.51
-DinGo
-Discocheck r521 & r43
-Donna
-Drofa 2
-Drosophila
-Dumb 1.7 and 1.6
-Ethereal 12.75 and 11.25
-Faile
-Fianchetto (sabertooth)
-Fornax 1.2
-FracTal
-FrankyGo
-Fruit 2.1
-Galjoen 0.40.1
-GambitFruit
-Goldfish
-Gopher_Check
-GreKo
-Gully2
-Gunborg 1.65
-Hakkapelitta 3 and TCEC v2 (Static Android)
-Halogen 9 & 8.1
-Hippocampe 0.41 (Static Android)
-iAthena
-Igel 2.9 and 2.8
-Jazz r840
-K2 0.99
-Koivisto 4.24 and 4.17 (Static Android)
-Laser 1.7
-Lc0 v0.26.3
-Leonidas r83
-Marvin 4
-Maxima 2
-Mayhem 2.7
-Megumax
-Minic 3.03 and 3.02
-MisterQueen
-Monchester 1.0.1 (Static Android)
-Monolith 2
-MORA
-Mr Bob 0.9
-Nawito2012
-Nemorino 6.0 but withnew net of 6.04 net in.
-Olithink 5.9.2 (Static Android)
-Omelette
-OpenTal 1.0
-OpenTal 1.1
-PayFleens
-Pedone 3
-Phalanx XXV
-Prophet 3
-Prophet 4
-Protector 1.9
-Pulse1.7.2
-Purplehaze 2.1
-QBBEngine
-Quokka
-Rasch r143
-Raschier r380
-Robocide
-RodentII
-RodentIII
-RodentIV
-Rubichess 1.8
-Rubichess 1.9 NN
-Rustic 0.1
-Sapeli 2 final
-Sayuri
-Scorpio 3.0.1 (Static Android)
-Seer 1.2.1 (Static Android)
-Senpai 2
-Shashchess 15.1
-SjaakII 1.4.1
-Sjeng
-Spacedog
-Stashbot 27 and 26
-Sting SF 25
-Stockfish 3
-Stockfish 4
-Stockfish 5
-Stockfish 6
-Stockfish 7
-Stockfish 8
-Stockfish 9
-Stockfish 10
-Stockfish 11
-Stockfish 12
-Stupid
-SugarAI 1.20 & 1.10
-SugarICCF 1.20 & 1.10
-Sungorus 1.4
-Supernova 2.21
-Teki 2
-Texel 1.08a
-TogaII 4.0.1
-ToledoNano
-Topple 0.8 (Static Android)
-Tucano 9.05 (Static Android)
-Tunguska 1.1
-Vajolet 2.8
-Velvet
-Vice 1.1
-Viper 01
-Weiss 1.2
-Wukong
-Wyldchess
-Xyphos 0.6.1 (Static Android)
-Zetadva
-Zevra 1.8 and 2
-Zurichess-Nidwalden
-Black Diamond XX-NN
-Bluefish XX-NN
-Honey XX-NN
-Stockfish XX-NN
-Weakfish XX-NN
-Black Diamond XX-r3
-Bluefish XX-r3
-Honey XX-r3
-Stockfish XX-r3
-Weakfish XX-r3