Anyone with a G5 Mac?

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Guetti

Re: Anyone with a G5 Mac?

Post by Guetti »

Ok, I compiled a new exe with -mcpu=G5. -arch ppc64 is for Linux ppc64, I think, and the exe generated with this flag segfaults.
The new test was done with the source from yesterday using the flags:

CFLAGS = -O3 -g -DNDEBUG -funroll-loops -fomit-frame-pointer -fstrict-aliasing -Wall -mcpu=G5 -mtune=G5 -fast

Tested on a PowerMac G5 2.5Ghz.

Code: Select all

./glaurung
uci
id name Glaurung 070503
id author Tord Romstad
option name Hash type spin default 32 min 4 max 1024
option name Ponder type check default true
option name UCI_Chess960 type check default false
option name UCI_EngineAbout type string default Glaurung by Tord Romstad, see http://www.glaurungchess.com
uciok
isready
readyok
go depth 15
info depth 2
info depth 2 score cp 11 time 2 nodes 46 nps 23000 pv g1f3 g8f6 
info depth 3
info depth 3 score cp 54 time 2 nodes 185 nps 92500 pv g1f3 g8f6 b1c3 
info depth 4
info depth 4 score cp 11 time 3 nodes 378 nps 126000 pv g1f3 g8f6 b1c3 b8c6 
info depth 5
info depth 5 score cp 15 time 4 nodes 796 nps 159200 pv g1f3 g8f6 b1c3 b8c6 d2d3 
info depth 6
info depth 6 score cp 11 time 7 nodes 1633 nps 233285 pv g1f3 g8f6 b1c3 b8c6 d2d3 d7d6 
info depth 7
info depth 7 score cp 25 time 14 nodes 4102 nps 293000 pv g1f3 g8f6 b1c3 b8c6 e2e3 d7d6 f1d3 
info depth 8
info depth 8 score cp 11 time 22 nodes 7288 nps 331272 pv g1f3 g8f6 b1c3 b8c6 e2e3 e7e6 f1d3 f8c5 
info depth 9
info depth 9 score cp 56 time 71 nodes 24490 nps 344929 pv g1f3 g8f6 b1c3 b8c6 e2e3 c6b4 f3e5 b4c6 e5c6 b7c6 
info depth 10
info depth 10 score cp 11 time 143 nodes 59106 nps 413328 pv g1f3 g8f6 b1c3 b8c6 e2e3 e7e6 f1d3 f8c5 e1g1 e8g8 
info depth 11
info depth 11 score cp 43 time 251 nodes 131922 nps 525585 pv g1f3 g8f6 b1c3 b8c6 e2e3 e7e6 f1d3 f8d6 e1g1 e8g8 f3g5 
info depth 12
info depth 12 score cp 35 time 511 nodes 310503 nps 607637 pv g1f3 g8f6 e2e3 e7e6 f1d3 b8c6 e1g1 f8c5 b1c3 e8g8 f3g5 d7d5 
info depth 13
info depth 13 score cp 17 time 966 nodes 617254 nps 638979 pv g1f3 g8f6 e2e3 e7e6 f1d3 b8c6 e1g1 f8c5 b1c3 e8g8 c3a4 c5d6 f3g5 
info nodes 660000 nps 637681 time 1035
info depth 13 score cp 21 time 1850 nodes 1197834 nps 647477 pv e2e4 g8f6 b1c3 b8c6 g1f3 e7e6 d2d4 f8b4 f1d3 e8g8 e1g1 d7d5 e4d5 e6d5 
info currmove d2d4 currmovenumber 3
info currmove g1h3 currmovenumber 4
info currmove e2e3 currmovenumber 5
info currmove b1c3 currmovenumber 6
info currmove d2d3 currmovenumber 7
info currmove b1a3 currmovenumber 8
info nodes 1350000 nps 649975 time 2077
info currmove g2g4 currmovenumber 9
info currmove b2b4 currmovenumber 10
info currmove g2g3 currmovenumber 11
info currmove h2h4 currmovenumber 12
info currmove b2b3 currmovenumber 13
info currmove c2c4 currmovenumber 14
info currmove a2a4 currmovenumber 15
info currmove h2h3 currmovenumber 16
info currmove c2c3 currmovenumber 17
info currmove a2a3 currmovenumber 18
info currmove f2f4 currmovenumber 19
info currmove f2f3 currmovenumber 20
info depth 14
info currmove e2e4 currmovenumber 1
info nodes 2010000 nps 649854 time 3093
info depth 14 score cp 21 time 3623 nodes 2362327 nps 652036 pv e2e4 b8c6 g1f3 g8f6 b1c3 e7e6 d2d4 f8b4 f1d3 e8g8 e1g1 b4c3 b2c3 d7d5 c1a3 
info currmove g1f3 currmovenumber 2
info nodes 2700000 nps 654704 time 4124
info currmove d2d4 currmovenumber 3
info currmove e2e3 currmovenumber 4
info currmove g1h3 currmovenumber 5
info currmove d2d3 currmovenumber 6
info currmove g2g3 currmovenumber 7
info currmove b1c3 currmovenumber 8
info currmove b1a3 currmovenumber 9
info currmove g2g4 currmovenumber 10
info currmove b2b4 currmovenumber 11
info currmove h2h4 currmovenumber 12
info currmove h2h3 currmovenumber 13
info currmove b2b3 currmovenumber 14
info currmove c2c4 currmovenumber 15
info currmove a2a4 currmovenumber 16
info currmove f2f4 currmovenumber 17
info currmove c2c3 currmovenumber 18
info currmove f2f3 currmovenumber 19
info currmove a2a3 currmovenumber 20
info depth 15
info currmove e2e4 currmovenumber 1
info nodes 3390000 nps 656467 time 5164
info nodes 4050000 nps 653753 time 6195
info nodes 4710000 nps 650732 time 7237
info nodes 5370000 nps 650672 time 8252
info nodes 6030000 nps 649434 time 9285
info nodes 6690000 nps 650082 time 10291
info nodes 7350000 nps 649637 time 11314
info depth 15 score cp 33 time 11478 nodes 7455069 nps 649509 pv e2e4 b8c6 d2d4 g8f6 d4d5 c6e5 b1c3 d7d6 g1f3 e5f3 g2f3 c7c6 d5c6 b7c6 f1d3 c8h3 c1e3 e7e5 
info currmove g1f3 currmovenumber 2
info currmove d2d4 currmovenumber 3
info currmove e2e3 currmovenumber 4
info currmove f2f4 currmovenumber 5
info currmove g1h3 currmovenumber 6
info currmove h2h4 currmovenumber 7
info currmove g2g3 currmovenumber 8
info currmove b2b3 currmovenumber 9
info currmove a2a4 currmovenumber 10
info currmove b1a3 currmovenumber 11
info currmove h2h3 currmovenumber 12
info currmove d2d3 currmovenumber 13
info currmove a2a3 currmovenumber 14
info currmove g2g4 currmovenumber 15
info currmove b1c3 currmovenumber 16
info currmove b2b4 currmovenumber 17
info currmove c2c4 currmovenumber 18
info currmove c2c3 currmovenumber 19
info currmove f2f3 currmovenumber 20
bestmove e2e4 ponder b8c6

Guetti

Re: Anyone with a G5 Mac?

Post by Guetti »

Tord Romstad wrote:Here's a new attempt: http://www.glaurungchess.com/beta/g070504.tar.gz

A new Mac OS X binary and source code is included. This time, I've compiled a universal binary which should (if everything works this time) be able to run on Intel Macs, G4 Macs and G5 Macs. It will run at slightly sub-optimal speed on Intel and G4 Macs, though.

Tord
Ok, here the results of your new exe (again PowerMac G5 2.5Ghz)

Code: Select all

orcabox:~/tmpdir/g070504 andreas$ ./glaurung 
uci
id name Glaurung 070504
id author Tord Romstad
option name Hash type spin default 32 min 4 max 1024
option name Ponder type check default true
option name OwnBook type check default true
option name UCI_Chess960 type check default false
option name UCI_EngineAbout type string default Glaurung by Tord Romstad, see http://www.glaurungchess.com
uciok
go depth 15
info depth 2
info depth 2 score cp 11 time 4 nodes 46 nps 11500 pv g1f3 g8f6 
info depth 3
info depth 3 score cp 54 time 4 nodes 185 nps 46250 pv g1f3 g8f6 b1c3 
info depth 4
info depth 4 score cp 11 time 5 nodes 378 nps 75600 pv g1f3 g8f6 b1c3 b8c6 
info depth 5
info depth 5 score cp 15 time 7 nodes 796 nps 113714 pv g1f3 g8f6 b1c3 b8c6 d2d3 
info depth 6
info depth 6 score cp 11 time 9 nodes 1633 nps 181444 pv g1f3 g8f6 b1c3 b8c6 d2d3 d7d6 
info depth 7
info depth 7 score cp 25 time 16 nodes 4102 nps 256375 pv g1f3 g8f6 b1c3 b8c6 e2e3 d7d6 f1d3 
info depth 8
info depth 8 score cp 11 time 26 nodes 7288 nps 280307 pv g1f3 g8f6 b1c3 b8c6 e2e3 e7e6 f1d3 f8c5 
info depth 9
info depth 9 score cp 56 time 80 nodes 24490 nps 306125 pv g1f3 g8f6 b1c3 b8c6 e2e3 c6b4 f3e5 b4c6 e5c6 b7c6 
info depth 10
info depth 10 score cp 11 time 169 nodes 59106 nps 349739 pv g1f3 g8f6 b1c3 b8c6 e2e3 e7e6 f1d3 f8c5 e1g1 e8g8 
info depth 11
info depth 11 score cp 43 time 289 nodes 131922 nps 456477 pv g1f3 g8f6 b1c3 b8c6 e2e3 e7e6 f1d3 f8d6 e1g1 e8g8 f3g5 
info depth 12
info depth 12 score cp 35 time 577 nodes 310503 nps 538133 pv g1f3 g8f6 e2e3 e7e6 f1d3 b8c6 e1g1 f8c5 b1c3 e8g8 f3g5 d7d5 
info depth 13
info nodes 570000 nps 565476 time 1008
info depth 13 score cp 17 time 1084 nodes 617254 nps 569422 pv g1f3 g8f6 e2e3 e7e6 f1d3 b8c6 e1g1 f8c5 b1c3 e8g8 c3a4 c5d6 f3g5 
info currmove e2e4 currmovenumber 2
info nodes 1170000 nps 577207 time 2027
info depth 13 score cp 21 time 2070 nodes 1197834 nps 578663 pv e2e4 g8f6 b1c3 b8c6 g1f3 e7e6 d2d4 f8b4 f1d3 e8g8 e1g1 d7d5 e4d5 e6d5 
info currmove d2d4 currmovenumber 3
info currmove g1h3 currmovenumber 4
info currmove e2e3 currmovenumber 5
info currmove b1c3 currmovenumber 6
info currmove d2d3 currmovenumber 7
info currmove b1a3 currmovenumber 8
info currmove g2g4 currmovenumber 9
info currmove b2b4 currmovenumber 10
info currmove g2g3 currmovenumber 11
info currmove h2h4 currmovenumber 12
info currmove b2b3 currmovenumber 13
info currmove c2c4 currmovenumber 14
info currmove a2a4 currmovenumber 15
info currmove h2h3 currmovenumber 16
info currmove c2c3 currmovenumber 17
info currmove a2a3 currmovenumber 18
info currmove f2f4 currmovenumber 19
info currmove f2f3 currmovenumber 20
info depth 14
info currmove e2e4 currmovenumber 1
info nodes 1770000 nps 580708 time 3048
info depth 14 score cp 21 time 4050 nodes 2362359 nps 583298 pv e2e4 b8c6 g1f3 g8f6 b1c3 e7e6 d2d4 f8b4 f1d3 e8g8 e1g1 b4c3 b2c3 d7d5 c1a3 
info currmove g1f3 currmovenumber 2
info nodes 2370000 nps 583312 time 4063
info currmove d2d4 currmovenumber 3
info currmove e2e3 currmovenumber 4
info currmove g1h3 currmovenumber 5
info currmove d2d3 currmovenumber 6
info currmove g2g3 currmovenumber 7
info currmove b1c3 currmovenumber 8
info currmove b1a3 currmovenumber 9
info currmove g2g4 currmovenumber 10
info nodes 3000000 nps 588812 time 5095
info currmove b2b4 currmovenumber 11
info currmove h2h4 currmovenumber 12
info currmove h2h3 currmovenumber 13
info currmove b2b3 currmovenumber 14
info currmove c2c4 currmovenumber 15
info currmove a2a4 currmovenumber 16
info currmove f2f4 currmovenumber 17
info currmove c2c3 currmovenumber 18
info currmove f2f3 currmovenumber 19
info currmove a2a3 currmovenumber 20
info depth 15
info currmove e2e4 currmovenumber 1
info nodes 3600000 nps 586223 time 6141
info nodes 4200000 nps 585202 time 7177
info nodes 4800000 nps 584510 time 8212
info depth 15 score cp 19 time 8779 nodes 5120878 nps 583309 pv e2e4 b8c6 g1f3 g8f6 b1c3 e7e5 f1c4 f8b4 e1g1 e8g8 d2d3 b4c3 b2c3 d7d5 e4d5 f6d5 c1g5 
info currmove g1f3 currmovenumber 2
info nodes 5400000 nps 583405 time 9256
info nodes 6000000 nps 583771 time 10278
info depth 15 score cp 25 time 10988 nodes 6437405 nps 585857 pv g1f3 g8f6 b1c3 e7e6 e2e4 b8c6 d2d4 f8b4 f1d3 e8g8 e1g1 d7d5 e4d5 e6d5 c1f4 b4c3 b2c3 
info currmove d2d4 currmovenumber 3
info currmove e2e3 currmovenumber 4
info nodes 6630000 nps 586362 time 11307
info currmove f2f4 currmovenumber 5
info currmove g1h3 currmovenumber 6
info currmove g2g3 currmovenumber 7
info currmove a2a4 currmovenumber 8
info currmove h2h4 currmovenumber 9
info currmove b2b3 currmovenumber 10
info currmove b1a3 currmovenumber 11
info currmove h2h3 currmovenumber 12
info currmove d2d3 currmovenumber 13
info currmove a2a3 currmovenumber 14
info currmove g2g4 currmovenumber 15
info currmove b1c3 currmovenumber 16
info currmove b2b4 currmovenumber 17
info currmove c2c4 currmovenumber 18
info currmove c2c3 currmovenumber 19
info currmove f2f3 currmovenumber 20
bestmove g1f3 ponder g8f6
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Anyone with a G5 Mac?

Post by Tord Romstad »

Guetti wrote:Ok, I compiled a new exe with -mcpu=G5. -arch ppc64 is for Linux ppc64, I think,
I don't know, but I think this is highly unlikely. Here is what the gcc manual page says about the "-arch" flag:

Code: Select all

       -arch arch
           Compile for the specified target architecture arch.  The allowable
           values are i386, ppc and ppc64.  Multiple options work, and direct
           the compiler to produce ``universal'' binaries including object
           code for each architecture specified with -arch.  This option only
           works if assembler and libraries are available for each architec-
           ture specified.  (APPLE ONLY)
I know for sure that using "-arch i386 -arch ppc" yields a universal binary which works on both Intel Macs and PowerPC Macs. I would expect that adding "-arch ppc64" would also generate 64-bit PowerPC code for G5 Macs running OS X, but apparently this doesn't work. At any rate, I am pretty sure a Linux binary is not what you get.
and the exe generated with this flag segfaults.
The new test was done with the source from yesterday using the flags:

CFLAGS = -O3 -g -DNDEBUG -funroll-loops -fomit-frame-pointer -fstrict-aliasing -Wall -mcpu=G5 -mtune=G5 -fast

Tested on a PowerMac G5 2.5Ghz.
Apparently it works great, and runs about 35% faster than on my 2 GHz Core Duo. Not bad! :)

Thank you very much for your help! It looks like it might be non-trivial to make a universal binary which runs optimally on all Macs, but of course having a separate binary for G5s is not a big problem.

Tord
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Anyone with a G5 Mac?

Post by Tord Romstad »

Guetti wrote:Ok, here the results of your new exe (again PowerMac G5 2.5Ghz)
The PVs and scores are all wrong, so apparently the universal binary still doesn't work. I'll just compile a separate G5 binary in the future.

Thanks again!

Tord