And here the link towards the dropbox folder containing the latest Perft(), including sources.
Bert
https://www.dropbox.com/sh/2stq4b20k64wcxx/AAC1Asa5wxWFUhmofY0dJyUNa?dl=0
Ok... I will compile it and let you know the results somewhat later. I believe you that raymask can be faster as magics ...

Search found 474 matches
- Sat Aug 20, 2016 13:11
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
- Sat Aug 20, 2016 12:57
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
Will have a look at the Damage GUI later, and will post a reply.
Bert
What I would like to know is what the various DXP buttons (Make, Wait, Run, Terminate) are doing.
I already saw that with 'Wait' it starts to wait for a connection and when I start an engine after this it does connect, but I ...
- Thu Aug 18, 2016 09:06
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
I also tried now the approach also used by Harm Jetten to detect first non-empty square in the main KingCapture detection routine.
Timing for the last Perft(9) position is now 7.40s, 7.44s, 7.43s and 7.43s.
See below code for the routine.
I guess some small optimizations are still possible.
As you ...
Timing for the last Perft(9) position is now 7.40s, 7.44s, 7.43s and 7.43s.
See below code for the routine.
I guess some small optimizations are still possible.
As you ...
- Tue Aug 16, 2016 19:16
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
To determine king captures I basically do the following: ((magic_mask_for_current_direction & opposite_pieces & ~edge_squares) >> current_direction) & empty_squares;
This gives you the first empty square after the opposite piece you are allowed to capture.
It is possible to generate another set of ...
- Tue Aug 16, 2016 18:46
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
Joost, think further optimization does not make sense, as the Movegenerator is already very fast.
As I want to make some changes to the overall architecture of Damage, I want to spent still somewhat time on the Movegenerator.
I still believe that the King Capture (even without Magic) can be faster ...
As I want to make some changes to the overall architecture of Damage, I want to spent still somewhat time on the Movegenerator.
I still believe that the King Capture (even without Magic) can be faster ...
- Tue Aug 16, 2016 06:53
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
I have removed the KingMove Mapping in the capture routine.
It seems that The Perft(9) position 2 is around 8% - 9% faster.
8.51s -> 7.69s
But hope Joost can confirm, and hope i approach now his results.
See the link as I have updated the Dropbox.
Bert
https://www.dropbox.com/sh/9yx1f7z3x1q6163 ...
It seems that The Perft(9) position 2 is around 8% - 9% faster.
8.51s -> 7.69s
But hope Joost can confirm, and hope i approach now his results.
See the link as I have updated the Dropbox.
Bert
https://www.dropbox.com/sh/9yx1f7z3x1q6163 ...
- Mon Aug 15, 2016 20:32
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
I use QueryPerformanceFrequency() and QueryPerformanceCounter().BertTuyt wrote: Which timing function did you use?
I might need another one
Bert
- Mon Aug 15, 2016 19:28
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
If you have your board class with bitboards for black, white and kings, then occupied == black ^ white. However, if you now define empty_squares == ~occupied, you have introduced 14 bits on the ghosts squares for empty_squares. This means that in patterns as opponent_pieces & (empty_squares << dir ...
- Mon Aug 15, 2016 16:09
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
I will post the Intel PGO results somewhat later, installing VS2015 update 3 broke something in the Intel VS2015 integration.
I tried with /QProf-gen and /QProf-use and that didn't work, I guess I have to repair or reinstall the Intel compiler.
Later...
Ok, here are the Intel results with PGO. It ...
I tried with /QProf-gen and /QProf-use and that didn't work, I guess I have to repair or reinstall the Intel compiler.
Later...
Ok, here are the Intel results with PGO. It ...
- Mon Aug 15, 2016 15:45
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
These are the results for the Intel compiler without PGO.
Perft(1) N = 9 0.00 sec. KN/sec = 0
Perft(2) N = 81 0.00 sec. KN/sec = 0
Perft(3) N = 658 0.00 sec. KN/sec = 0
Perft(4) N = 4265 0.00 sec. KN/sec = 0
Perft(5) N = 27117 0.00 sec. KN/sec = 0
Perft(6) N = 167140 0.00 sec. KN/sec = 0
Perft(7 ...
Perft(1) N = 9 0.00 sec. KN/sec = 0
Perft(2) N = 81 0.00 sec. KN/sec = 0
Perft(3) N = 658 0.00 sec. KN/sec = 0
Perft(4) N = 4265 0.00 sec. KN/sec = 0
Perft(5) N = 27117 0.00 sec. KN/sec = 0
Perft(6) N = 167140 0.00 sec. KN/sec = 0
Perft(7 ...
- Mon Aug 15, 2016 15:34
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
Joost, thanks.
I would also like to see an as-is comparison.
So just run the executable on your (faster) computer, then I also better know , and can quantify what the effect of the Intel compiler is.
Bert
Bert,
These are the results for the MSVC compiler @ 3600MHz. I took the liberty to add 1 or ...
I would also like to see an as-is comparison.
So just run the executable on your (faster) computer, then I also better know , and can quantify what the effect of the Intel compiler is.
Bert
Bert,
These are the results for the MSVC compiler @ 3600MHz. I took the liberty to add 1 or ...
- Mon Aug 15, 2016 14:52
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
Why do you need the edge_squares masking? If you have the "ghost" squares at each edge, then the opposite_pieces & (empty_squares << current_direction) would be the cheapest way to isolate all opposite pieces with an empty piece behind them.
To be honest, I never looked at it in very great ...
- Mon Aug 15, 2016 08:04
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
Here the link to my Dropbox folder containing a Visual Studio 2015 Perft project (and Perft executable).
Including the Movegen source code.
Interesting what the Perft results are on a fast 4 Ghz machine and/or with better compiler optimization and/or Intel compiler.
Think it still could be faster ...
Including the Movegen source code.
Interesting what the Perft results are on a fast 4 Ghz machine and/or with better compiler optimization and/or Intel compiler.
Think it still could be faster ...
- Mon Aug 15, 2016 07:53
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
To determine king captures I basically do the following: ((magic_mask_for_current_direction & opposite_pieces & ~edge_squares) >> current_direction) & empty_squares;
This gives you the first empty square after the opposite piece you are allowed to capture.
Why do you need the edge_squares ...
- Sun Aug 14, 2016 15:27
- Forum: Draughts, Computer, Internet
- Topic: Perft
- Replies: 256
- Views: 215808
Re: Perft
Yesterday ( = Saturday) I tried to debug the Magic code which I had started the weeks before.
It also now works (as the Perft numbers are the same), but for an unknown reason it is not faster.
I only use Magic for the King Moves, so not the King Capture detection (or alike).
It is possible that ...