New chess engine: Texel

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

Moderators: hgm, Harvey Williamson, bob

User avatar
fern
Posts: 8745
Joined: Sun Feb 26, 2006 3:07 pm

Re: New chess engine: Texel

Post by fern » Sun Mar 25, 2012 1:41 am

I have played just a game and it seems to me that in similar positions which I know very well this programs of yours behave very very differently. It is really surprising.
I will try next time to save a game for you to see.

Fern

tmokonen
Posts: 882
Joined: Sun Mar 12, 2006 5:46 pm
Location: Vancouver

Re: New chess engine: Texel

Post by tmokonen » Sun Mar 25, 2012 2:46 am

Texel x64 was compiled with VC++ 2012 beta, and I am not sure if an EXE created with this compiler will run under XP. I get a similar message when I create an EXE in VC++ 2010 and try run it under Windows 2000.

petero2
Posts: 559
Joined: Mon Apr 19, 2010 5:07 pm
Location: Sweden
Contact:

Re: New chess engine: Texel

Post by petero2 » Sun Mar 25, 2012 8:58 am

Thanks for the info. I don't know what is wrong with the directory permissions. If it is the same user that created the directory and that tries to write to it I think rwx------ should be ok.

petero2
Posts: 559
Joined: Mon Apr 19, 2010 5:07 pm
Location: Sweden
Contact:

Re: New chess engine: Texel

Post by petero2 » Sun Mar 25, 2012 9:00 am

Yes, C++11 contains some nice features, but as this thread shows, compiler support is still a substantial problem.

petero2
Posts: 559
Joined: Mon Apr 19, 2010 5:07 pm
Location: Sweden
Contact:

Re: New chess engine: Texel

Post by petero2 » Sun Mar 25, 2012 9:05 am

Correct VC++ 2012 beta does not support XP. See http://connect.microsoft.com/VisualStud ... ils/690617

There is supposedly a way around that, see http://tedwvc.wordpress.com/2012/03/11/ ... indows-xp/. It seems a bit complicated though.

User avatar
pocopito
Posts: 228
Joined: Tue Jul 12, 2011 11:31 am
Contact:

Re: New chess engine: Texel

Post by pocopito » Sun Mar 25, 2012 9:13 am

Congrats and thanks Peter

I've tested texel under xubuntu 11-10 64bit with ScidVSpc. The texel32 seems to work fine but the texel62 returns an error (but it could be due to have a one bit old version).

Regards

E Diaz
Two first meanings of the dutch word "leren":
1. leren [vc] (learn, larn, acquire) acquire or gain knowledge or skills.
2. leren [v] (teach, learn, instruct) impart skills or knowledge to.

zullil
Posts: 4878
Joined: Mon Jan 08, 2007 11:31 pm
Location: PA USA

Re: New chess engine: Texel

Post by zullil » Sun Mar 25, 2012 10:10 am

petero2 wrote:Thanks for the info. I don't know what is wrong with the directory permissions. If it is the same user that created the directory and that tries to write to it I think rwx------ should be ok.
It is very strange.

My modified Makefile:

Code: Select all

LZsMacPro-OSX6: ~/Downloads/texel101] more Makefile 
SRC     = bitBoard.cpp book.cpp computerPlayer.cpp enginecontrol.cpp evaluate.cpp \
          game.cpp history.cpp humanPlayer.cpp killerTable.cpp kpkTable.cpp \
          krkpTable.cpp move.cpp moveGen.cpp parameters.cpp piece.cpp position.cpp \
          random.cpp search.cpp texel.cpp textio.cpp transpositionTable.cpp \
          treeLogger.cpp tuigame.cpp uciprotocol.cpp util.cpp
OBJS32  = $(patsubst %.cpp,obj32/%.o,$(SRC))
OBJS64  = $(patsubst %.cpp,obj64/%.o,$(SRC))

CXX = g++-mp-4.7

CXXFLAGS        = -O3 -Wall -std=c++0x -pthread
LDFLAGS         = -pthread

all     : texel64

dist    : texel.zip

texel.zip: FORCE texel32 texel64
        (VER=$$(echo -e 'uci\nquit' | ./texel32 | grep 'id name' | awk '{print $$4}' | tr -d .) ; \
         rm -f texel$${VER}.zip ; \
         zip -r texel$${VER}.zip Makefile src texel{32,64}{,.exe})

$(OBJS32) : obj32/%.o : src/%.cpp
        -mkdir -p obj32
        $&#40;CXX&#41; $&#40;CXXFLAGS&#41; -m32 -c -o $@ $<

texel32  &#58; $&#40;OBJS32&#41; Makefile
        $&#40;CXX&#41; $&#40;LDFLAGS&#41; -m32 -o $@ $&#40;OBJS32&#41;


$&#40;OBJS64&#41; &#58; obj64/%.o &#58; src/%.cpp
        -mkdir -p obj64
        $&#40;CXX&#41; $&#40;CXXFLAGS&#41; -m64 -c -o $@ $<

texel64  &#58; $&#40;OBJS64&#41; Makefile
        $&#40;CXX&#41; $&#40;LDFLAGS&#41; -m64 -o $@ $&#40;OBJS64&#41;


clean   &#58; 
        rm -rf $&#40;OBJS&#41; *~ obj32 obj64

.PHONY  &#58; clean dist FORCE
LZsMacPro-OSX6&#58; ~/Downloads/texel101&#93; 
The error:

Code: Select all

LZsMacPro-OSX6&#58; ~/Downloads/texel101&#93; make
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/bitBoard.o src/bitBoard.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/book.o src/book.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/computerPlayer.o src/computerPlayer.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/enginecontrol.o src/enginecontrol.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/evaluate.o src/evaluate.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/game.o src/game.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/history.o src/history.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/humanPlayer.o src/humanPlayer.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/killerTable.o src/killerTable.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/kpkTable.o src/kpkTable.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/krkpTable.o src/krkpTable.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/move.o src/move.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/moveGen.o src/moveGen.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/parameters.o src/parameters.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/piece.o src/piece.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/position.o src/position.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/random.o src/random.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/search.o src/search.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/texel.o src/texel.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/textio.o src/textio.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/transpositionTable.o src/transpositionTable.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/treeLogger.o src/treeLogger.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/tuigame.o src/tuigame.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/uciprotocol.o src/uciprotocol.cpp
mkdir -p obj64
g++-mp-4.7 -O3 -Wall -std=c++0x -pthread -m64 -c -o obj64/util.o src/util.cpp
g++-mp-4.7 -pthread -m64 -o texel64 obj64/bitBoard.o obj64/book.o obj64/computerPlayer.o obj64/enginecontrol.o obj64/evaluate.o obj64/game.o obj64/history.o obj64/humanPlayer.o obj64/killerTable.o obj64/kpkTable.o obj64/krkpTable.o obj64/move.o obj64/moveGen.o obj64/parameters.o obj64/piece.o obj64/position.o obj64/random.o obj64/search.o obj64/texel.o obj64/textio.o obj64/transpositionTable.o obj64/treeLogger.o obj64/tuigame.o obj64/uciprotocol.o obj64/util.o
ld&#58; can't write output file&#58; texel64 for architecture x86_64
collect2&#58; error&#58; ld returned 1 exit status
make&#58; *** &#91;texel64&#93; Error 1
LZsMacPro-OSX6&#58; ~/Downloads/texel101&#93; 
The same command, invoked directly, works:

Code: Select all

LZsMacPro-OSX6&#58; ~/Downloads/texel101&#93; g++-mp-4.7 -pthread -m64 -o texel64 obj64/bitBoard.o obj64/book.o obj64/computerPlayer.o obj64/enginecontrol.o obj64/evaluate.o obj64/game.o obj64/history.o obj64/humanPlayer.o obj64/killerTable.o obj64/kpkTable.o obj64/krkpTable.o obj64/move.o obj64/moveGen.o obj64/parameters.o obj64/piece.o obj64/position.o obj64/random.o obj64/search.o obj64/texel.o obj64/textio.o obj64/transpositionTable.o obj64/treeLogger.o obj64/tuigame.o obj64/uciprotocol.o obj64/util.o
LZsMacPro-OSX6&#58; ~/Downloads/texel101&#93; 
LZsMacPro-OSX6&#58; ~/Downloads/texel101&#93; ls
Makefile    obj64       src         texel32     texel32.exe texel64     texel64.exe
LZsMacPro-OSX6&#58; ~/Downloads/texel101&#93; 

voyagerOne
Posts: 154
Joined: Tue May 17, 2011 6:12 pm

Re: New chess engine: Texel

Post by voyagerOne » Sun Mar 25, 2012 5:30 pm

Impressive work as always Peter!

You are a genius programmer. I hope one day I can be as competent as you are...

Bill
www.mytopcoder.com/gmol

User avatar
Jim Ablett
Posts: 1327
Joined: Fri Jul 14, 2006 5:56 am
Location: London, England
Contact:

Re: New chess engine: Texel

Post by Jim Ablett » Sun Mar 25, 2012 7:24 pm

Image

JA builds available.

Windows/Linux/Android 64/32


Should work on all systems.

http://dl.dropbox.com/u/5047625/texel-101-ja.zip
Mirror:
http://cl.ly/FHyX/texel-101-ja.zip

Also on my homepage.

Thanks very much for the new engine release Peter.

Jim.

petero2
Posts: 559
Joined: Mon Apr 19, 2010 5:07 pm
Location: Sweden
Contact:

Re: New chess engine: Texel

Post by petero2 » Sun Mar 25, 2012 7:57 pm

Thanks a lot Jim.

It works perfectly on the systems I tested on (windows/linux/android), although I don't have Windows XP so I can not test that.

Your windows executables are about 15% faster than my windows executables, which means that the windows executables are now about as fast as the linux executables. Very nice.

Thanks again.

Post Reply