Best chess engines for Android

Discussion of computer chess matches and engine tournaments.

Moderator: Ras

User avatar
Ras
Posts: 2719
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Best chess engines for Android

Post by Ras »

AlexChess wrote: Wed Dec 15, 2021 12:41 pmDifferently from mac M1 engines, that unfortunately are rarely updated by Acepoint.de
If you install Clang on your M1, you should be able to compile the CT800 engine using the provided Mac shell script by just running that script.
Rasmus Althoff
https://www.ct800.net
User avatar
AlexChess
Posts: 1562
Joined: Sat Feb 06, 2021 8:06 am
Full name: Alex Morales

Re: Best chess engines for Android

Post by AlexChess »

Ras wrote: Thu Dec 30, 2021 9:31 pm
AlexChess wrote: Wed Dec 15, 2021 12:41 pmDifferently from mac M1 engines, that unfortunately are rarely updated by Acepoint.de
If you install Clang on your M1, you should be able to compile the CT800 engine using the provided Mac shell script by just running that script.
Thank you Ras, I really appreciate your suggestions and friendship :)
Chess engines and dedicated chess computers fan since 1981 :D macOS Sequoia 16GB-512GB, Windows 11 & Ubuntu ARM64.
ProteusSF Dev Forum
User avatar
AlexChess
Posts: 1562
Joined: Sat Feb 06, 2021 8:06 am
Full name: Alex Morales

Re: Best chess engines for Android

Post by AlexChess »

Good performance of Berserk 8.5 by jhonnold, compiled by Archimedes, on Snapdragon 626 8 Threads

Image

ALL GAMES IN PGN https://onedrive.live.com/?cid=B0F79706 ... 27&o=OneUp
Chess engines and dedicated chess computers fan since 1981 :D macOS Sequoia 16GB-512GB, Windows 11 & Ubuntu ARM64.
ProteusSF Dev Forum
User avatar
AlexChess
Posts: 1562
Joined: Sat Feb 06, 2021 8:06 am
Full name: Alex Morales

Re: Best chess engines for Android

Post by AlexChess »

Kayra 1.1 vs Swordfish 14.7 vs Blue Marlin 14.7 vs Berserk 8.5.1 Snapdragon 626 8 Threads

Image

ALL PGN GAMES: https://onedrive.live.com/?cid=B0F79706 ... 27&o=OneUp
Chess engines and dedicated chess computers fan since 1981 :D macOS Sequoia 16GB-512GB, Windows 11 & Ubuntu ARM64.
ProteusSF Dev Forum
User avatar
AlexChess
Posts: 1562
Joined: Sat Feb 06, 2021 8:06 am
Full name: Alex Morales

Re: Best chess engines for Android

Post by AlexChess »

Since I'm little tired of long Blitz tournaments and with my hardware using fast time controls the search depth is very modest, I'm changing the formula.

I'll play much less games at long TC and I'll publish the most intersesting ones.

Here a nice win of Blue Marlin 14.7 GPLv3 by dorz against Kayra 1.1 GPLv3 by Mehmet Karaman, on LONG TC: Game in 120 minutes + 30 sec x move. With 8 threads Snapdragon 626 calculates 500 kN/s, so is like a Blitz with a Ryzen 5900 PC (27/40 moves on average on starting position)
Chess for Android minimal openings book for both.

Enjoy!

[pgn][Event "Chess for Android Gauntlet"]
[Site "Italia"]
[Date "2022.01.11"]
[Round "2"]
[White "Blue Marlin 14.7"]
[WhiteElo "-"]
[Black " Kayra 1.1"]
[BlackElo "-"]
[Result "1-0"]
[PlyCount "201"]
[TimeControl "7200+30"]
[Device "Redmi 4"]

1. d4 {Risposta da apertura 0.0} Nf6 {Risposta da apertura 0.001}
2. c4 {Risposta da apertura 0.0} c5 {Risposta da apertura 0.0}
3. d5 {Risposta da apertura 0.0} e5 {Risposta da apertura 0.001}
4. Nc3 {Risposta da apertura 0.0} d6 {Risposta da apertura 0.0}
5. e4 {[27/27]228/a7a6 184.722} g6 {[30/36]-152/h2h3 1005.476}
6. Be2 {[25/27]245/h7h5 92.107} Na6 {[28/34]-157/g2g4 261.738}
7. Be3 {[29/34]233/a6c7 317.156} Nc7 {[28/38]-156/g2g4 178.627}
8. g4 {[27/32]230/h7h6 90.059} h6 {[26/33]-142/h2h4 85.597}
9. h3 {[28/32]233/a7a6 160.617} a6 {[31/26]-155/a2a4 529.726}
10. a4 {[28/35]227/b7b6 146.859} Rb8 {[29/41]-148/g1f3 285.848}
11. Nf3 {[27/37]251/f8g7 126.965} Bd7 {[26/38]-166/d1b3 120.483}
12. a5 {[29/41]274/b7b5 461.836} b5 {[27/39]-162/a5b6 292.102}
13. axb6 {[29/42]267/b8b6 88.784} Rxb6 {[24/35]-176/d1d2 64.041}
14. Qd2 {[27/36]280/f8g7 126.647} Bg7 {[29/42]-173/e1f1 486.781}
15. Kf1 {[26/38]268/h6h5 110.339} Rb4 {[27/44]-163/f1g2 259.045}
16. Kg2 {[26/34]262/e8g8 114.569} O-O {[27/35]-171/a1a3 81.571}
17. Ra3 {[28/37]219/d8b8 365.494} Qb8 {[26/39]-155/h1b1 158.93}
18. b3 {[31/45]248/b4b3 582.706} h5 {[29/45]-186/f3h2 323.193}
19. Nh2 {[25/35]260/c7e8 141.107} Nce8 {[28/38]-178/d2d1 91.557}
20. Qd1 {[28/32]248/b8c8 369.945} Qc8 {[26/37]-180/g2f1 138.828}
21. Kf1 {[24/40]266/h5g4 70.995} hxg4 {[26/38]-170/h3g4 127.6}
22. hxg4 {[26/34]282/f6h7 127.142} Nh7 {[27/38]-194/g4g5 126.875}
23. Ke1 {[26/42]293/c8d8 123.043} Qd8 {[27/40]-167/h2f1 193.161}
24. Nf1 {[30/38]246/a6a5 367.834} Nc7 {[24/38]-162/d1d3 90.343}
25. Qd3 {[26/34]246/h7g5 148.837} Ng5 {[29/48]-186/e3c1 198.176}
26. Ng3 {[25/36]270/b4b8 135.223} Re8 {[27/39]-156/e1f1 77.373}
27. Qd2 {[25/42]354/g7f6 98.648} Bf6 {[30/46]-200/e1f1 235.624}
28. Nf5 {[31/47]291/g6f5 303.506} gxf5 {[25/34]-128/g4f5 91.172}
29. gxf5 {[26/41]382/g5h7 106.533} Be7 {[30/50]-202/e2h5 483.771}
30. Rh5 {[26/35]319/f7f6 243.959} f6 {[24/38]-228/h5h6 159.781}
31. Rh6 {[26/40]354/g5h7 157.057} Nh7 {[25/39]-209/e1f1 102.958}
32. Kf1 {[28/46]347/e7f8 249.854} Rb6 {[29/53]-193/h6h1 336.39}
33. Bh5 {[27/44]370/e7f8 248.518} Bf8 {[26/53]-211/h6g6 87.603}
34. Rg6+ {[27/53]276/f8g7 164.359} Bg7 {[30/47]-216/c3a4 148.321}
35. Na4 {[26/46]244/d7a4 91.142} Bxa4 {[30/49]-279/e3h6 283.407}
36. bxa4 {[27/46]302/e8e7 214.35} Re7 {[28/51]-245/e3h6 119.215}
37. Bh6 {[27/40]286/c7e8 140.016} Ne8 {[27/50]-248/g6g4 130.158}
38. Rg4 {[29/46]316/d8b8 354.432} Qb8 {[33/40]-312/f1g2 765.155}
39. Kg2 {[31/48]302/b6b2 63.688} Rb2 {[24/52]-305/d2e3 16.682}
40. Qe3 {[38/50]251/b2b1 183.103} Kf8 {[30/51]-327/h5e8 143.81}
41. Bxe8 {[21/30]447/f8e8 74.158} Qxe8 {[28/41]-311/e3h3 11.156}
42. Qh3 {[28/39]434/f8g8 69.022} Rbb7 {[30/41]-305/a3g3 31.23}
43. Rag3 {[36/52]401/f8g8 137.844} Kg8 {[35/41]-305/h6c1 26.867}
44. Bd2 {[37/45]397/g8h8 66.467} Kh8 {[35/39]-305/h3h4 15.735}
45. Qh4 {[37/55]496/b7b2 293.096} Rb2 {[36/45]-303/g3h3 51.013}
46. Rh3 {[31/37]388/e8g8 155.935} Qg8 {[39/45]-304/d2h6 17.26}
47. Bh6 {[28/49]518/a6a5 57.964} Rb8 {[35/44]-305/h3g3 29.087}
48. Rhg3 {[34/49]532/b8b7 234.099} Rbb7 {[37/43]-303/a4a5 14.303}
49. a5 {[36/44]492/g8f8 51.487} Qe8 {[36/44]-304/h6d2 16.885}
50. Bd2 {[39/44]473/e8g8 62.069} Qg8 {[36/40]-302/g3h3 26.985}
51. Rh3 {[39/40]473/b7b1 43.428} Rb2 {[35/51]-303/d2h6 22.289}
52. Bh6 {[43/43]417/b2b8 133.047} Rb8 {[36/39]-298/g2h2 31.241}
53. Bd2 {[40/50]416/b8b2 94.372} Rbb7 {[37/40]-308/h4h5 25.782}
54. Qh5 {[37/41]407/e7f7 24.373} Rf7 {[35/43]-307/h5g6 24.389}
55. Qg6 {[36/38]407/b7b2 38.089} Rb1 {[34/49]-522/d2e3 157.931}
56. Bh6 {[36/35]405/b1b7 24.377} Rd7 {[28/37]-602/h6e3 21.233}
57. Rh5 {[38/43]379/d7b7 50.907} Rdb7 {[31/41]-602/g2f3 10.107}
58. Bd2 {[36/41]403/b7f7 29.188} R1b2 {[31/46]-628/d2e3 43.41}
59. Be3 {[35/39]383/b2b1 30.012} Ra7 {[25/31]-629/g4g3 19.71}
60. Kg3 {[33/35]379/b2b1 22.04} Rc2 {[23/32]-568/g3g2 7.52}
61. Kh3 {[32/36]396/a7f7 42.122} Rf7 {[28/53]-681/h3g2 53.291}
62. Kg2 {[28/34]393/f7b7 24.423} Rb7 {[28/40]-664/g4g3 9.215}
63. Rh1 {[35/37]379/c2b2 25.23} Re7 {[29/48]-655/h1h5 88.795}
64. Rh3 {[34/38]379/c2b2 22.149} Ra2 {[23/28]-670/h3h1 7.151}
65. Rhg3 {[32/45]702/g8f7 158.146} Qf7 {[19/41]-536/g4h4 8.811}
66. Rh4 {[20/36]737/f7g6 10.021} Qxg6 {[23/42]-615/f5g6 36.039}
67. fxg6 {[24/42]795/g7f8 20.299} Bf8 {[24/40]-667/e3h6 62.6}
68. Bh6 {[22/42]816/f8h6 21.76} Bxh6 {[20/30]-684/h4h6 6.337}
69. Rxh6 {[23/45]824/a2a5 18.829} Rxa5 {[28/41]-753/g6h7 68.766}
70. gxh7 {[23/37]843/e7h7 29.66} Rxh7 {[23/43]-765/h6f6 27.284}
71. Rxf6 {[25/36]833/h7g7 15.409} Rh4 {[30/39]-784/f6d6 39.996}
72. Rxd6 {[21/38]877/a5a2 54.837} Ra2 {[23/36]-784/d6e6 8.016}
73. Re6 {[20/40]887/h4h5 15.564} Re2 {[23/38]-775/d5d6 6.129}
74. Kf3 {[24/39]911/e2d2 15.672} Rc2 {[20/40]-716/e6e5 11.828}
75. Re8+ {[31/30]945/h8h7 99.466} Kh7 {[20/34]-716/e8e5 2.654}
76. Rxe5 {[22/41]957/h4h2 35.806} Rxc4 {[24/36]-787/e5e7 97.627}
77. Re7+ {[21/40]992/h7h6 16.041} Kh6 {[24/27]-792/g3g4 5.628}
78. d6 {[22/40]1047/c4d4 64.265} Rd4 {[18/28]-758/d6d7 12.813}
79. d7 {[19/30]1046/a6a5 17.396} Rd3+ {[24/36]-1268/f3e2 84.572}
80. Kg2 {[17/32]1163/d3d2 18.733} Rd2 {[15/16]-786/g2f3 3.626}
81. Rg8 {[18/24]1226/d2d7 10.613} Rxd7 {[37/37]-6804/e7d7 47.716}
82. Rxd7 {[33/43]mate:32/h4e4 12.382} Rxe4 {[38/40]mate:-24/d7d1 13.381}
83. Rd1 {[42/42]mate:22/h6h7 26.173} Kh7 {[39/41]mate:-23/g8g3 8.938}
84. Rg3 {[39/39]mate:21/e4h4 16.045} Rh4 {[40/43]mate:-21/d1h1 19.721}
85. Rh1 {[245/38]mate:19/h4h1 30.531} Rxh1 {[48/39]mate:-19/g2h1 15.333}
86. Kxh1 {[39/36]mate:17/a6a5 26.215} a5 {[47/37]mate:-18/g3c3 15.522}
87. Kg2 {[39/32]mate:16/a5a4 35.45} a4 {[42/35]mate:-17/f2f4 13.207}
88. f4 {[38/30]mate:15/c5c4 28.835} a3 {[46/33]mate:-16/g3a3 15.121}
89. Rxa3 {[44/26]mate:13/h7g8 15.429} Kg6 {[49/25]mate:-12/a3c3 19.791}
90. Kf3 {[43/24]mate:12/g6f7 21.324} Kf5 {[55/23]mate:-11/a3c3 16.907}
91. Ra5 {[41/22]mate:11/f5g6 23.282} Ke6 {[52/21]mate:-10/a5c5 19.945}
92. Rxc5 {[42/20]mate:10/e6e7 19.25} Kd6 {[65/19]mate:-9/c5e5 24.321}
93. Re5 {[63/18]mate:9/d6c7 19.468} Kd7 {[148/17]mate:-8/f4f5 19.329}
94. f5 {[128/16]mate:8/d7d8 20.384} Kc6 {[184/15]mate:-7/f3f4 19.983}
95. f6 {[245/14]mate:7/c6c7 16.695} Kd6 {[245/13]mate:-6/f3e4 10.74}
96. Ke4 {[245/12]mate:6/d6c7 13.769} Kd7 {[245/11]mate:-5/f6f7 2.022}
97. f7 {[245/10]mate:5/d7c7 1.269} Kc6 {[245/9]mate:-4/f7f8q 0.438}
98. f8=Q {[245/8]mate:4/c6b7 0.349} Kd7 {[245/7]mate:-3/f8f6 0.299}
99. Qf6 {[245/6]mate:3/d7c7 0.319} Kc8 {[245/5]mate:-2/e5e7 0.201}
100. Re7 {[245/4]mate:2/c8d8 0.199} Kd8 {[245/3]mate:-1/f6f8 0.22}
101. Qf8# 1-0
[/pgn]
Chess engines and dedicated chess computers fan since 1981 :D macOS Sequoia 16GB-512GB, Windows 11 & Ubuntu ARM64.
ProteusSF Dev Forum
User avatar
AlexChess
Posts: 1562
Joined: Sat Feb 06, 2021 8:06 am
Full name: Alex Morales

Re: Best chess engines for Android

Post by AlexChess »

AlexChess wrote: Tue Jan 11, 2022 7:36 pm
I'll play much less games at long TC and I'll publish the most intersesting ones.
This opening exists but Na6?! is the worse move... Then black loses quicky. So I have decided to completely remove book to see how engines manage openings, too!
Chess engines and dedicated chess computers fan since 1981 :D macOS Sequoia 16GB-512GB, Windows 11 & Ubuntu ARM64.
ProteusSF Dev Forum
User avatar
AlexChess
Posts: 1562
Joined: Sat Feb 06, 2021 8:06 am
Full name: Alex Morales

Re: Best chess engines for Android

Post by AlexChess »

Tryng to determine the speed of an Android smartphone compared to a top Ryzen 9 5950x PC.

According to Geekbench 5 is only 17 times faster on multitrend. Is that reliable?

Image

Image
Chess engines and dedicated chess computers fan since 1981 :D macOS Sequoia 16GB-512GB, Windows 11 & Ubuntu ARM64.
ProteusSF Dev Forum
amanjpro
Posts: 883
Joined: Sat Mar 13, 2021 1:47 am
Full name: Amanj Sherwany

Re: Best chess engines for Android

Post by amanjpro »

AlexChess wrote: Wed Jan 12, 2022 9:00 am Tryng to determine the speed of an Android smartphone compared to a top Ryzen 9 5950x PC.

According to Geekbench 5 is only 17 times faster on multitrend. Is that reliable?

Image

Image
As a programmer you should realize that one of them is ARM architecture, the other is x86. You cannot really compare speed across the two reliabily. Simply because they require completely different instruction sets, which you can not guarantee that the compiler in either case has produced the best possible (or even comparable in quality between the two) binaries.

When a program is written for x86 arch in mind, it does so many things that doesn't translate well into ARM. The opposite is also true.

All those engines that work for Android are incidental, testing on ARM is not part of the main testing routine.

It is simple, ARM is meant to be efficient, not fast, programs that run on it are expected to be used exclusively for user facing tasks. In the case of chess true ARM engines care more about providing functionalities (like skill levels) than sheer power. No one is expected to analyze deep positions on an Android phone. On the other hand, x86 is meant to be power hungry but powerful. Engines that are written natively for this arch are all optimized for strength, and people are expected to run deep analysis here.
User avatar
AlexChess
Posts: 1562
Joined: Sat Feb 06, 2021 8:06 am
Full name: Alex Morales

Re: Best chess engines for Android

Post by AlexChess »

amanjpro wrote: Wed Jan 12, 2022 3:17 pm

As a programmer you should realize that one of them is ARM architecture, the other is x86. You cannot really compare speed across the two reliabily. Simply because they require completely different instruction sets, which you can not guarantee that the compiler in either case has produced the best possible (or even comparable in quality between the two) binaries.

When a program is written for x86 arch in mind, it does so many things that doesn't translate well into ARM. The opposite is also true.

All those engines that work for Android are incidental, testing on ARM is not part of the main testing routine.

It is simple, ARM is meant to be efficient, not fast, programs that run on it are expected to be used exclusively for user facing tasks. In the case of chess true ARM engines care more about providing functionalities (like skill levels) than sheer power. No one is expected to analyze deep positions on an Android phone. On the other hand, x86 is meant to be power hungry but powerful. Engines that are written natively for this arch are all optimized for strength, and people are expected to run deep analysis here.
Compiler converts c++ code to machine language not skipping instructions, also if not optimized, or each game would be full of blunders... I'm only comparing Mn/s to understand how to obtain the number of positions and the depth of a powerful PC in a blitz or rapid games, increasing TC on my smartphone. Ryzen 5950x is 4.5 times faster than best Android ARM64 smartphone CPU, according to Geekbench 5:

Image
Chess engines and dedicated chess computers fan since 1981 :D macOS Sequoia 16GB-512GB, Windows 11 & Ubuntu ARM64.
ProteusSF Dev Forum
amanjpro
Posts: 883
Joined: Sat Mar 13, 2021 1:47 am
Full name: Amanj Sherwany

Re: Best chess engines for Android

Post by amanjpro »

AlexChess wrote: Wed Jan 12, 2022 3:52 pm
Compiler converts c++ code to machine language not skipping instructions, also if not optimized, or each game would be full of blunders...
That is actually incorrect. Compilers compile code to CPU instruction sets. And not every compiler is an optimizing compiler for every possible architecture. And an unoptimized engine doesn't mean it blunders, it only makes it slower
AlexChess wrote: Wed Jan 12, 2022 3:52 pm
I'm only comparing Mn/s to understand how to obtain the number of positions and the depth of a powerful PC in a blitz or rapid games, increasing TC on my smartphone. Ryzen 5950x is 4.5 times faster than best Android ARM64 smartphone CPU, according to Geekbench 5:

Image
That is also misleading, your ARM CPU might be 5 times slower than your x86 CPU for engine X, version N. But 10 times slower for engine Y, version M. For the reasons I mentioned above