Texel 1.02
Moderator: Ras
-
tmokonen
- Posts: 1363
- Joined: Sun Mar 12, 2006 6:46 pm
- Location: Kelowna
- Full name: Tony Mokonen
Re: Texel 1.02
There was your original release of 1.01, and the JA compile. Maybe it was the JA compile that Chan had problems with.
-
petero2
- Posts: 730
- Joined: Mon Apr 19, 2010 7:07 pm
- Location: Sweden
- Full name: Peter Osterlund
Re: Texel 1.02
Possibly, or it could have been a derivative version that someone made as an experiment. Anyway, I don't think it is worth worrying about. If it was my 1.01 version or the JA 1.01 version, they are both obsoleted now by the 1.02 version. If it was a derivative version, whoever created it can worry about fixing regressions in that version.tmokonen wrote:There was your original release of 1.01, and the JA compile. Maybe it was the JA compile that Chan had problems with.
-
petero2
- Posts: 730
- Joined: Mon Apr 19, 2010 7:07 pm
- Location: Sweden
- Full name: Peter Osterlund
Re: A 32 bit compile ?
Jim Ablett has already compiled a JA version which includes a 32-bit windows executable.
I have not done any speed comparisons yet between the JA executables and my executables. However the general rule to use the fastest version that works on your computer applies in this case too.
I have not done any speed comparisons yet between the JA executables and my executables. However the general rule to use the fastest version that works on your computer applies in this case too.
-
IWB
- Posts: 1539
- Joined: Thu Mar 09, 2006 2:02 pm
64bit compile comparison
Intel i5 2500K OS W7
1.02 x64 SEE original = 1
1.02 x64 old original = 0.93
1.02 JA 64bit pop = 0.88
AMD Phenom 2 OS XP-64:
1.02 x64 SEE original = loads, crashing at analysis start!
1.02. old original = 1
1.02 JA 64bit pop = 0.81
AMD 8350 (Piledriver) OS XP-64
1.02 x64 SEE original = 1
1.02. old original = 0.92
1.02 JA 64bit pop = 0.86
A pitty that the original is not running on Phenom2s ...
Bye
Ingo
1.02 x64 SEE original = 1
1.02 x64 old original = 0.93
1.02 JA 64bit pop = 0.88
AMD Phenom 2 OS XP-64:
1.02 x64 SEE original = loads, crashing at analysis start!
1.02. old original = 1
1.02 JA 64bit pop = 0.81
AMD 8350 (Piledriver) OS XP-64
1.02 x64 SEE original = 1
1.02. old original = 0.92
1.02 JA 64bit pop = 0.86
A pitty that the original is not running on Phenom2s ...
Bye
Ingo
-
lucasart
- Posts: 3242
- Joined: Mon May 31, 2010 1:29 pm
- Full name: lucasart
Re: Texel 1.02
Congratulations Peter for this new version of Texel.
I downloaded it and compiled it on Linux with GCC 4.7, using the makefile provided. Works like a bliss:
I cannot help notice that there are two little optimizations you should include in your makefile:
(i) use '-flto' in the compiling and linking flags. should make your compile a little faster.
(ii) strip the executables, to remove the debug info produced by gcc. should make your compiles smaller.
I downloaded it and compiled it on Linux with GCC 4.7, using the makefile provided. Works like a bliss:
Code: Select all
$ make
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/bitBoard.o src/bitBoard.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/book.o src/book.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/computerPlayer.o src/computerPlayer.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/enginecontrol.o src/enginecontrol.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/evaluate.o src/evaluate.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/game.o src/game.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/history.o src/history.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/humanPlayer.o src/humanPlayer.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/killerTable.o src/killerTable.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/kpkTable.o src/kpkTable.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/krkpTable.o src/krkpTable.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/krpkrTable.o src/krpkrTable.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/material.o src/material.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/move.o src/move.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/moveGen.o src/moveGen.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/parameters.o src/parameters.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/piece.o src/piece.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/position.o src/position.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/random.o src/random.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/search.o src/search.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/texel.o src/texel.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/textio.o src/textio.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/transpositionTable.o src/transpositionTable.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/treeLogger.o src/treeLogger.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/tuigame.o src/tuigame.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/uciprotocol.o src/uciprotocol.cpp
g++ -O3 -Wall -std=c++11 -pthread -m64 -c -o objdef/util.o src/util.cpp
g++ -pthread -m64 -o texel objdef/bitBoard.o objdef/book.o objdef/computerPlayer.o objdef/enginecontrol.o objdef/evaluate.o objdef/game.o objdef/history.o objdef/humanPlayer.o objdef/killerTable.o objdef/kpkTable.o objdef/krkpTable.o objdef/krpkrTable.o objdef/material.o objdef/move.o objdef/moveGen.o objdef/parameters.o objdef/piece.o objdef/position.o objdef/random.o objdef/search.o objdef/texel.o objdef/textio.o objdef/transpositionTable.o objdef/treeLogger.o objdef/tuigame.o objdef/uciprotocol.o objdef/util.o
(i) use '-flto' in the compiling and linking flags. should make your compile a little faster.
(ii) strip the executables, to remove the debug info produced by gcc. should make your compiles smaller.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
-
petero2
- Posts: 730
- Joined: Mon Apr 19, 2010 7:07 pm
- Location: Sweden
- Full name: Peter Osterlund
Re: 64bit compile comparison
Can you please try this version: http://dl.dropboxusercontent.com/u/8968 ... e3-ctz.exe. It is compiled with "-march=athlon64-sse3 -DHAVE_CTZ", which I think should be good for this CPU.IWB wrote:AMD Phenom 2 OS XP-64:
1.02 x64 SEE original = loads, crashing at analysis start!
1.02. old original = 1
1.02 JA 64bit pop = 0.81
A pitty that the original is not running on Phenom2s ...
-
IWB
- Posts: 1539
- Joined: Thu Mar 09, 2006 2:02 pm
Re: 64bit compile comparison
Intel i5 2500K OS W7
1.02 x64 SEE original = 1
1.02 x64 old original = 0.93
1.02 x64 athlon = 0.93
1.02 JA 64bit pop = 0.88
AMD Phenom 2 OS XP-64:
1.02 x64 SEE original = loads, crashing at analysis start!
1.02. old original = 1
1.02 x64 athlon = 1.02
1.02 JA 64bit pop = 0.81
AMD 8350 (Piledriver) OS XP-64
1.02 x64 SEE original = 1
1.02. old original = 0.92
1.02 x64 athlon = 0.93
1.02 JA 64bit pop = 0.86
The special Athlon version is not nessesary. The differences to the "old" version are so small and you limit even more the hardware basis ...
BYe
Ingo
1.02 x64 SEE original = 1
1.02 x64 old original = 0.93
1.02 x64 athlon = 0.93
1.02 JA 64bit pop = 0.88
AMD Phenom 2 OS XP-64:
1.02 x64 SEE original = loads, crashing at analysis start!
1.02. old original = 1
1.02 x64 athlon = 1.02
1.02 JA 64bit pop = 0.81
AMD 8350 (Piledriver) OS XP-64
1.02 x64 SEE original = 1
1.02. old original = 0.92
1.02 x64 athlon = 0.93
1.02 JA 64bit pop = 0.86
The special Athlon version is not nessesary. The differences to the "old" version are so small and you limit even more the hardware basis ...
BYe
Ingo
-
petero2
- Posts: 730
- Joined: Mon Apr 19, 2010 7:07 pm
- Location: Sweden
- Full name: Peter Osterlund
Re: 64bit compile comparison
OK, I see, thanks for testing. I think it is the popcount instruction that makes the most speed difference and since the Phenom II doesn't have such an instruction your results make sense.IWB wrote:The special Athlon version is not nessesary. The differences to the "old" version are so small and you limit even more the hardware basis ...
-
petero2
- Posts: 730
- Joined: Mon Apr 19, 2010 7:07 pm
- Location: Sweden
- Full name: Peter Osterlund
Re: Texel 1.02
Thanks!lucasart wrote:Congratulations Peter for this new version of Texel.
If you have an Intel CPU with popcount support, you may want to use "make texel64" instead, which adds the compiler flags "-march=corei7 -DHAVE_CTZ -DHAVE_POPCNT".lucasart wrote:I downloaded it and compiled it on Linux with GCC 4.7, using the makefile provided. Works like a bliss:Code: Select all
$ make
I have never been able to get any speed improvement from "-flto". It does make the program significantly smaller (418KiB vs 483KiB), but not faster in my tests. I don't know why this happens, but I suspect it is because I have many performance critical functions declared inline in header files.lucasart wrote:I cannot help notice that there are two little optimizations you should include in your makefile:
(i) use '-flto' in the compiling and linking flags. should make your compile a little faster.
(ii) strip the executables, to remove the debug info produced by gcc. should make your compiles smaller.
Regarding stripping the executables, yes that makes sense.
-
Modern Times
- Posts: 3773
- Joined: Thu Jun 07, 2012 11:02 pm
Re: 64bit compile comparison
The Phenom II does have the popcount instruction.petero2 wrote:OK, I see, thanks for testing. I think it is the popcount instruction that makes the most speed difference and since the Phenom II doesn't have such an instruction your results make sense.IWB wrote:The special Athlon version is not nessesary. The differences to the "old" version are so small and you limit even more the hardware basis ...