Vajolet2 released

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

Moderator: Ras

elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: Vajolet2 released

Post by elcabesa »

i just discovered i need to add "-mpopcnt" to the compiler options to let gcc use popcnt instructions :)

try it when you can and I'll rlaeas a new compile with the four versions :)
phenri
Posts: 284
Joined: Tue Aug 13, 2013 9:44 am

Re: Vajolet2 released

Post by phenri »

Here is what I get

Code: Select all

sse4.2 popcnt
===========================
Total time (ms) : 39226
Nodes searched  : 29369660
Nodes/second    : 748729
===========================
Total time (ms) : 39911
Nodes searched  : 29369660
Nodes/second    : 735878

sse4.2
===========================
Total time (ms) : 40478
Nodes searched  : 29369660
Nodes/second    : 725570

generic
===========================
Total time (ms) : 55792
Nodes searched  : 29369660
Nodes/second    : 526413
include src, sse4.2, popcnt, generic and avx but not tested.
http://rghost.net/53586575

Here is the build log if you're interested.

Code: Select all

In file included from .\benchmark.cpp:24:0:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\position.h:27:0,
                 from .\search.h:21,
                 from .\benchmark.cpp:25:
.\move.h:38:3: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
   };
   ^
In file included from .\bitops.h:22:0,
                 from .\bitops.cpp:17:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\book.cpp:24:0:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\position.h:27:0,
                 from .\book.cpp:25:
.\move.h:38:3: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
   };
   ^
In file included from .\command.cpp:27:0:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\position.h:27:0,
                 from .\command.cpp:30:
.\move.h:38:3: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
   };
   ^
In file included from .\data.h:20:0,
                 from .\data.cpp:18:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\data.h:20:0,
                 from .\position.h:24,
                 from .\eval.cpp:22:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\position.h:27:0,
                 from .\eval.cpp:22:
.\move.h:38:3: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
   };
   ^
.\eval.cpp:285:6: warning: unused parameter 'p' [-Wunused-parameter]
 bool evalKRvsKm(const Position& p, Score& res){
      ^
In file included from .\hashKeys.h:24:0,
                 from .\hashKeys.cpp:23:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\movegen.cpp:19:0:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\movegen.cpp:20:0:
.\move.h:38:3: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
   };
   ^
In file included from .\position.cpp:21:0:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\position.h:27:0,
                 from .\position.cpp:22:
.\move.h:38:3: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
   };
   ^
In file included from .\search.h:20:0,
                 from .\search.cpp:24:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\position.h:27:0,
                 from .\search.h:21,
                 from .\search.cpp:24:
.\move.h:38:3: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
   };
   ^
In file included from .\see.cpp:18:0:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\see.cpp:20:0:
.\move.h:38:3: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
   };
   ^
In file included from .\statistics.h:21:0,
                 from .\statistics.cpp:18:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\position.h:27:0,
                 from .\statistics.h:23,
                 from .\statistics.cpp:18:
.\move.h:38:3: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
   };
   ^
In file included from .\data.h:20:0,
                 from .\position.h:24,
                 from .\thread.h:25,
                 from .\thread.cpp:18:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\position.h:27:0,
                 from .\thread.h:25,
                 from .\thread.cpp:18:
.\move.h:38:3: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
   };
   ^
In file included from .\transposition.h:20:0,
                 from .\transposition.cpp:18:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\tune.h:26:0,
                 from .\tune.cpp:17:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\position.h:27:0,
                 from .\eval.h:24,
                 from .\tune.cpp:21:
.\move.h:38:3: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
   };
   ^
.\tune.cpp: In member function 'void Tuner::createEpd()':
.\tune.cpp:272:27: warning: comparison is always true due to limited range of data type [-Wtype-limits]
      if(res!=std::string::npos && searchRes>=10000){ // white
                           ^
.\tune.cpp:315:14: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
      if(line2-startLine>=0 && (draw || line-line2>=0)){
              ^
.\tune.cpp:315:44: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
      if(line2-startLine>=0 && (draw || line-line2>=0)){
                                            ^
In file included from .\vajolet.cpp:18:0:
.\vajolet.h:119:29: warning: extra ';' [-Wpedantic]
 ENABLE_OPERATORS_ON(tSquare);
                             ^
In file included from .\position.h:27:0,
                 from .\vajolet.cpp:24:
.\move.h:38:3: warning: ISO C++ prohibits anonymous structs [-Wpedantic]
   };
   ^
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Vajolet2 released

Post by velmarin »

elcabesa wrote:i just discovered i need to add "-mpopcnt" to the compiler options to let gcc use popcnt instructions :)

try it when you can and I'll rlaeas a new compile with the four versions :)
And right for me.
Thanks, always learn.
Version POPCNT and Version No POPCNT.
https://www.dropbox.com/s/n1q4j4yu4k97y ... 1.28x64.7z
User avatar
Graham Banks
Posts: 44161
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Vajolet2 released

Post by Graham Banks »

velmarin wrote:
elcabesa wrote:i just discovered i need to add "-mpopcnt" to the compiler options to let gcc use popcnt instructions :)

try it when you can and I'll rlaeas a new compile with the four versions :)
And right for me.
Thanks, always learn.
Version POPCNT and Version No POPCNT.
https://www.dropbox.com/s/n1q4j4yu4k97y ... 1.28x64.7z
Thanks Jose. :)
gbanksnz at gmail.com
phenri
Posts: 284
Joined: Tue Aug 13, 2013 9:44 am

Re: Vajolet2 released

Post by phenri »

Jose, I get better nps with your

Code: Select all

josé compile
popcnt
===========================
Total time (ms) : 36927
Nodes searched  : 29369660
Nodes/second    : 795343
===========================
Total time (ms) : 36621
Nodes searched  : 29369660
Nodes/second    : 801989
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: Vajolet2 released

Post by elcabesa »

and in the end the new link https://drive.google.com/file/d/0B8vVDp ... sp=sharing

thank you all
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: Vajolet2 released

Post by elcabesa »

thank you for your compile.
I'm not using pedantic warning bug I think I can fix some of the warning
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Vajolet2 released

Post by velmarin »

phenri wrote:Jose, I get better nps with your

Code: Select all

josé compile
popcnt
===========================
Total time (ms) : 36927
Nodes searched  : 29369660
Nodes/second    : 795343
===========================
Total time (ms) : 36621
Nodes searched  : 29369660
Nodes/second    : 801989

I use DEV-CPP by orwell
http://orwelldevcpp.blogspot.com.es/

specifically this:
"The portable version which includes TDM-GCC x64 4.8.1 can be downloaded here (34MB)."
Max
Posts: 247
Joined: Tue Apr 13, 2010 10:41 am

Re: Vajolet2 released

Post by Max »

Hi Marco,

your source code compiles well with g++ 4.7.3 on the mac. :D Get this bench output

Code: Select all

===========================
Total time (ms) : 25159
Nodes searched  : 29369660
Nodes/second    : 1167361
But unfortunately violet crashed in every game. Started from the terminal, violet shows "Buss error: 10" after some seconds and terminates :(

Code: Select all

$ ./vajolet2
Vajolet2 1.28 by Marco Belli
go 
info multipv 1 depth 1 seldepth 1 score cp 39 nodes 23 nps 0 time 0 pv d2d3 
info multipv 1 depth 2 seldepth 2 score cp 4 nodes 103 nps 0 time 0 pv d2d3 e7e6 
info multipv 1 depth 3 seldepth 7 score cp 26 nodes 288 nps 288000 time 1 pv d2d3 e7e6 g1f3 

<snip>
..
<snip>

info multipv 1 depth 16 seldepth 30 score cp 20 nodes 4704612 nps 1129558 time 4165 pv e2e4 e7e5 g1f3 b8c6 f1c4 g8f6 b1c3 f6e4 c3e4 d7d5 c4d3 d5e4 d3e4 f7f6 e1g1 f8c5 d2d3 e8g8 c1e3 c5e3 f2e3 
info currmovenumber 1 currmove e2e4 nodes 4704999 time 4165
info hashfull 1000
info hashfull 1000
info multipv 1 depth 18 seldepth 32 score cp 28 lowerbound nodes 7397797 nps 1127541 time 6561 pv e2e4 
info currmovenumber 1 currmove e2e4 nodes 7397798 time 6561
info hashfull 1000
info currmovenumber 2 currmove d2d3 nodes 8862088 time 7877
info currmovenumber 3 currmove g1f3 nodes 8888678 time 7901
Bus error: 10 
Compiled with g++ *.cpp -o vajolet2 -O3 -std=c++11 -fmessage-length=0 -msse4.2

Thanks,
-Max
elcabesa
Posts: 855
Joined: Sun May 23, 2010 1:32 pm

Re: Vajolet2 released

Post by elcabesa »

could you please trying compiling with a more recent compiler?