Firenzina 2.43 Now Available for the Mac!

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

Moderator: Ras

User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Firenzina 2.43 Now Available for the Mac!

Post by MikeB »

A free open source engine by Kranium (Norman Schmidt), Yuri Censor (Dmitri Gusev) and ZirconiumX (Matthew Brades).

A very strong engine for the Mac - probably 3rd after Komoko and Stockfish

https://www.dropbox.com/s/ky7qfhijzk161 ... 3.zip?dl=0

Code: Select all

Benchmarks (16 positions):

Single CPU : Benchmark go depth 18

Total Nodes: 316,961,382 Time: 87.863s
Total NPS: 3,607,000

4 Core CPU :benchmark go depth 18:

Total Nodes: 420,972,863 Time: 40.261s
Total NPS: 10,456,000


4 Core CPU :benchmark go depth 21:

Total Nodes: 5,608,499,645 Time: 462.898s
Total NPS: 12,116,000
A very healthy NPS indeed!

Makefile is included with source - had to put in a couple kludges to make it compile Mac. Profiling was of no benefit. The CPUs is hardcoded at 8, make sure you use "setoption name Max_Threads value =xx" xx either being the number of cores on your machine or the number of cores you want use. There isn benefit in more threads than the cores you have. "Max_Threads" is in replace of the standard UCI option "Threads". Has some nifty random parameters settings tools to make it easier to test different settings. Read the readme.

In game 2 of the second match of Kasparov vs Deep Blue, Deep Blue actually blundered on the 44th move and played Kf1. The correct move to avoid the perpetual draw was to play 44. Kh1. Kasparov later resigned the the game he could have drawn.

1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 5.0-0 Be7 6.Re1 b5 7.Bb3 d6 8.c3 0-0 9.h3 h6 10.d4 Re8 11.Nbd2 Bf8 12.Nf1 Bd7 13.Ng3 Na5 14.Bc2 c5 15.b3 Nc6 16.d5 Ne7 17.Be3 Ng6 18.Qd2 Nh7 19.a4 Nh4 20.Nxh4 Qxh4 21.Qe2 Qd8 22.b4 Qc7 23.Rec1 c4 24.Ra3 Rec8 25.Rca1 Qd8 26.f4 Nf6 27.fxe5 dxe5 28.Qf1 Ne8 29.Qf2 Nd6 30.Bb6 Qe8 31.R3a2 Be7 32.Bc5 Bf8 33.Nf5 Bxf5 34.exf5 f6 35.Bxd6 Bxd6 36.axb5 axb5 37.Be4 Rxa2 38.Qxa2 Qd7 39.Qa7 Rc7 40.Qb6 Rb7 41.Ra8+ Kf7 42.Qa6 Qc7 43.Qc6 Qb6+

[d]R7/1r3kp1/1qQb1p1p/1p1PpP2/1Pp1B3/2P4P/6P1/6K1 w - - 11 44

Firenzina avoids Kf1 in 4.03 seconds on my machine using a single core.

If you have a Mac, the binary is included. To compile your own, just go to the directory where the source is and type "make".
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: Firenzina 2.43 Now Available for the Mac!

Post by JoshPettus »

Thanks, but I posted a fix for the cores thing and and it's in the code base.

https://github.com/Censor/Firenzina/com ... a7bdbe4d38

At least, that way, the number of cores is still tested for the mac.

Besides, depending on your cpu, you can possibly have twice as many threads as you do CPUs (hyperthreading).

But then they disappeared and I haven't heard from them.
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Firenzina 2.43 Now Available for the Mac!

Post by Gusev »

I did not disappear, I just don't have a Mac. :oops: If more corrections are needed to compile for the Mac (without ruining existing compatibility with Windows and Linux), the Firenzina Github is open for business.
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Firenzina 2.43 Now Available for the Mac!

Post by Gusev »

The correct version number should be 2.4.3, not 2.43. Historically, the Firenzina versions released were 2.2.2, 2.3.1, 2.4, 2.4.1, 2.4.2 and 2.4.3. Version 2.4.3 was developed internally as 2.3.2. Happens to be the strongest one to date.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Firenzina 2.43 Now Available for the Mac!

Post by MikeB »

Gusev wrote:The correct version number should be 2.4.3, not 2.43. Historically, the Firenzina versions released were 2.2.2, 2.3.1, 2.4, 2.4.1, 2.4.2 and 2.4.3. Version 2.4.3 was developed internally as 2.3.2. Happens to be the strongest one to date.
I was confused - so maybe I don't have the latest source - now I'm not sure. It appears that Firezina is very efficient on the Mac - getting much higher nps than some of its related engine cousins, It crushes Crafty and I may have overestimated its strength initially - but still one of the top engines available for the Mac, Here;s short run:

Code: Select all

ResultSet-EloRating>details
   1 Komodo 9.1 64-bit                       137  60.0 ( 44.5 :  15.5)
                                                  10.0 (  4.0 :   6.0) Stockfish 240715 64 POPCNT              116
                                                  10.0 (  6.5 :   3.5) Critter 1.6a 64-bit                      25
                                                  10.0 (  8.0 :   2.0) Firenzina 2.4.3 iMac xTreme Apple x64     6
                                                  10.0 (  8.0 :   2.0) Texel 1.05 64-bit                       -43
                                                  10.0 (  9.0 :   1.0) Senpai 1.0                              -76
                                                  10.0 (  9.0 :   1.0) Crafty-25.0 ACCA                       -165
   2 Stockfish 240715 64 POPCNT              116  60.0 ( 43.0 :  17.0)
                                                  10.0 (  6.0 :   4.0) Komodo 9.1 64-bit                       137
                                                  10.0 (  7.5 :   2.5) Critter 1.6a 64-bit                      25
                                                  10.0 (  8.0 :   2.0) Firenzina 2.4.3 iMac xTreme Apple x64     6
                                                  10.0 (  7.0 :   3.0) Texel 1.05 64-bit                       -43
                                                  10.0 (  7.5 :   2.5) Senpai 1.0                              -76
                                                  10.0 (  7.0 :   3.0) Crafty-25.0 ACCA                       -165
   3 Critter 1.6a 64-bit                      25  60.0 ( 32.5 :  27.5)
                                                  10.0 (  3.5 :   6.5) Komodo 9.1 64-bit                       137
                                                  10.0 (  2.5 :   7.5) Stockfish 240715 64 POPCNT              116
                                                  10.0 (  5.0 :   5.0) Firenzina 2.4.3 iMac xTreme Apple x64     6
                                                  10.0 (  6.5 :   3.5) Texel 1.05 64-bit                       -43
                                                  10.0 (  7.0 :   3.0) Senpai 1.0                              -76
                                                  10.0 (  8.0 :   2.0) Crafty-25.0 ACCA                       -165
   4 Firenzina 2.4.3 iMac xTreme Apple x64     6  60.0 ( 30.0 :  30.0)
                                                  10.0 (  2.0 :   8.0) Komodo 9.1 64-bit                       137
                                                  10.0 (  2.0 :   8.0) Stockfish 240715 64 POPCNT              116
                                                  10.0 (  5.0 :   5.0) Critter 1.6a 64-bit                      25
                                                  10.0 (  5.5 :   4.5) Texel 1.05 64-bit                       -43
                                                  10.0 (  6.0 :   4.0) Senpai 1.0                              -76
                                                  10.0 (  9.5 :   0.5) Crafty-25.0 ACCA                       -165
   5 Texel 1.05 64-bit                       -43  60.0 ( 25.0 :  35.0)
                                                  10.0 (  2.0 :   8.0) Komodo 9.1 64-bit                       137
                                                  10.0 (  3.0 :   7.0) Stockfish 240715 64 POPCNT              116
                                                  10.0 (  3.5 :   6.5) Critter 1.6a 64-bit                      25
                                                  10.0 (  4.5 :   5.5) Firenzina 2.4.3 iMac xTreme Apple x64     6
                                                  10.0 (  5.5 :   4.5) Senpai 1.0                              -76
                                                  10.0 (  6.5 :   3.5) Crafty-25.0 ACCA                       -165
   6 Senpai 1.0                              -76  60.0 ( 22.0 :  38.0)
                                                  10.0 (  1.0 :   9.0) Komodo 9.1 64-bit                       137
                                                  10.0 (  2.5 :   7.5) Stockfish 240715 64 POPCNT              116
                                                  10.0 (  3.0 :   7.0) Critter 1.6a 64-bit                      25
                                                  10.0 (  4.0 :   6.0) Firenzina 2.4.3 iMac xTreme Apple x64     6
                                                  10.0 (  4.5 :   5.5) Texel 1.05 64-bit                       -43
                                                  10.0 (  7.0 :   3.0) Crafty-25.0 ACCA                       -165
   7 Crafty-25.0 ACCA                       -165  60.0 ( 13.0 :  47.0)
                                                  10.0 (  1.0 :   9.0) Komodo 9.1 64-bit                       137
                                                  10.0 (  3.0 :   7.0) Stockfish 240715 64 POPCNT              116
                                                  10.0 (  2.0 :   8.0) Critter 1.6a 64-bit                      25
                                                  10.0 (  0.5 :   9.5) Firenzina 2.4.3 iMac xTreme Apple x64     6
                                                  10.0 (  3.5 :   6.5) Texel 1.05 64-bit                       -43
                                                  10.0 (  3.0 :   7.0) Senpai 1.0                              -76 
I would say it's probably better than Teexl and Senpai on the Mac and they are no slouches. I'm not sure if I have the best Stockfish version, but I generally update the source every month or so to stay current. I will propose changes to Firenzina and also update the make file. Since it is the 2nd best open source engine currently available for the Mac - I would like to see it kept active and will be happy to support the Mac side of it.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Firenzina 2.43 Now Available for the Mac!

Post by MikeB »

Here's the los. I know we like to play thousnads and thousand of games to get the truth, but the reailiy is that even short runs , done properly can gan provide data that is statically reliable given the margin of error. if you think about, Baseball plays 162 games , Basketball and Hockey play around 80 games or so, football is an 18 game season and we declare champions for all of them - why - because we want to , even for those that are not stattically minded - we know that we have have seen enough. But I do believe in statistics and here's the los for the short run below.

Code: Select all

ResultSet-EloRating>los
                                      Ko St Cr Fi Te Se Cr
Komodo 9.1 64-bit                         66 99 99 99 99 99
Stockfish 240715 64 POPCNT             33    97 98 99 99 99
Critter 1.6a 64-bit                     0  2    65 92 98 99
Firenzina 2.4.3 iMac xTreme Apple x64   0  1 34    85 95 99
Texel 1.05 64-bit                       0  0  7 14    75 99
Senpai 1.0                              0  0  1  4 24    96
Crafty-25.0 ACCA                        0  0  0  0  0     3 
This puts current crafty unreleased Crafty around 3050 give or take 30 or so points. And I;m not saying that just based on these results, we have played thousands of games that tell us that current devlopmental crafty is in the 3050 range - give or take 30 to 40 points. ELO points tend to come in bunches, just today we probably picked up another 15 ELO points on something Tracey found.
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Firenzina 2.43 Now Available for the Mac!

Post by Gusev »

The source that says 2.4.3 is the latest one.
JoshPettus
Posts: 730
Joined: Fri Oct 19, 2012 2:23 am

Re: Firenzina 2.43 Now Available for the Mac!

Post by JoshPettus »

Oh, Hi dimitri, good to see you! :D Mike B can correct me if I'm wrong, but I had no other problems compiling firenzina.

@MikeB, if you need more engines to run against, wine is definitely an option. Officially mac version of wine can only run 32 bit engines. (the 32 bit version of fire 4 kills firenzina on my mac at least)

There is more and more progress on being able to compile wine64 on OSX, right now it still has major issues with clang. (and there is inherent problems with using gcc, namely it can't compile the osx driver ) But hopefully that stuff will be fixed eventually. wine64 is getting better at running 64 bit chess engines.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Firenzina 2.43 Now Available for the Mac!

Post by MikeB »

JoshPettus wrote:Oh, Hi dimitri, good to see you! :D Mike B can correct me if I'm wrong, but I had no other problems compiling firenzina.

@MikeB, if you need more engines to run against, wine is definitely an option. Officially mac version of wine can only run 32 bit engines. (the 32 bit version of fire 4 kills firenzina on my mac at least)

There is more and more progress on being able to compile wine64 on OSX, right now it still has major issues with clang. (and there is inherent problems with using gcc, namely it can't compile the osx driver ) But hopefully that stuff will be fixed eventually. wine64 is getting better at running 64 bit chess engines.
We're good, I sent in some comments on the makefile that would assist others, but the code is perfect.
Dann Corbit
Posts: 12870
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Firenzina 2.43 Now Available for the Mac!

Post by Dann Corbit »

f:\project\dcorbit\firenzina-2.4.4\src\arrays.c(194): warning C6200: Index '-1' is out of valid index range '0' to '63' for non-stack buffer 'SqSet'.
f:\project\dcorbit\firenzina-2.4.4\src\arrays.c(195): warning C6200: Index '64' is out of valid index range '0' to '63' for non-stack buffer 'SqSet'.
f:\project\dcorbit\firenzina-2.4.4\src\arrays.c(204): warning C6200: Index '-7' is out of valid index range '0' to '63' for non-stack buffer 'SqSet'.
f:\project\dcorbit\firenzina-2.4.4\src\arrays.c(205): warning C6200: Index '65' is out of valid index range '0' to '63' for non-stack buffer 'SqSet'.
f:\project\dcorbit\firenzina-2.4.4\src\arrays.c(209): warning C6200: Index '-2' is out of valid index range '0' to '63' for non-stack buffer 'SqSet'.
f:\project\dcorbit\firenzina-2.4.4\src\arrays.c(210): warning C6200: Index '70' is out of valid index range '0' to '63' for non-stack buffer 'SqSet'.

Let's analyze the first error listed up above...
Consider, for instance that SqSet has dimention 64, so the allowed addresses are 0 to 63:

Code: Select all

    for (i = A2; i <= H7; i++) // A2 == 8; H7 == 55
    {
        AttPw[i] = SqSet[i - 7] | SqSet[i - 9]; // When i is A2, 8-9=-1
        AttPb[i] = SqSet[i + 7] | SqSet[i + 9]; // When i is H7, 55+9=64
    }
This is what is known as undefined behavior, and it is a naughty no-no.
The code is full of this stuff.
If you want the program to get stronger, these sorts of things need to be fixed. The bugs are there as well in the originals.