| View previous topic :: View next topic |
| Author |
Message |
Gerd Isenberg
Joined: 08 Mar 2006 Posts: 1802 Location: Hattingen, Germany
|
Post subject: Re: Is there such a thing as branchless move generation? Posted: Sat Jun 09, 2012 7:48 pm |
|
|
| johnhamlen wrote: |
So I was very happy to get the following response from my old friend Gerd:
However, it's not immediately obvious to me how the Koggie-Stone methods work and how I can map them to branchless code. |
First, thank you for your kind words on cpw, founded by Mark Lefler, where I happen to become addicted editor.
The point with fill-stuff is that it is SIMD-friendly and one may compute vectors of bitboards simultanously, i.e. a quad-bitboard within two SSE 128-bit xmm or one AVX 256-bit ymm register(s), for instance with white/black rooks/queens and kings for the four orthogonal directions, and white/black bishops/queens and kings for the diagonal directions, for all sliding and pseudo attacks to determine pinned pieces etc, to finally store legal (one condition per direction) move-targets for each direction as a kind of fixed-sized unsorted move-list. May be better look on dumb7fill first, which is not much worse than its parallel prefix Kogge-Stone approach.
Of course, picking the moves from this move-lists requires an appropriate state machine (big jump-table on state) and conditional branches, bitscan target, determining source, and you don't want to sac exponential speedup due to worse move-ordering by linear one from almost branchless and parallel generation. I use such a thing within a quad-bitboard color-flipper, white to move only, boosting probe-hash prefetch.
Cheers,
Gerd _________________ https://chessprogramming.wikispaces.com/ |
|
| Back to top |
|
 |
|
| Subject |
Author |
Date/Time |
Is there such a thing as branchless move generation? |
John Hamlen |
Thu Jun 07, 2012 7:50 pm |
Re: Is there such a thing as branchless move generation? |
Gerd Isenberg |
Thu Jun 07, 2012 8:44 pm |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Thu Jun 07, 2012 10:18 pm |
Re: Is there such a thing as branchless move generation? |
Edmund Moshammer |
Thu Jun 07, 2012 10:57 pm |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Fri Jun 08, 2012 8:21 am |
Re: Is there such a thing as branchless move generation? |
Sven Schüle |
Fri Jun 08, 2012 9:21 am |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Fri Jun 08, 2012 10:31 am |
Re: Is there such a thing as branchless move generation? |
Edmund Moshammer |
Fri Jun 08, 2012 10:41 am |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Sat Jun 09, 2012 1:17 pm |
Re: Is there such a thing as branchless move generation? |
Daniel Shawul |
Fri Jun 08, 2012 11:12 am |
Re: Is there such a thing as branchless move generation? |
Edmund Moshammer |
Fri Jun 08, 2012 11:18 am |
Re: Is there such a thing as branchless move generation? |
Daniel Shawul |
Fri Jun 08, 2012 3:39 pm |
Re: Is there such a thing as branchless move generation? |
Vincent Diepeveen |
Sat Jun 16, 2012 9:07 am |
Re: Is there such a thing as branchless move generation? |
Daniel Shawul |
Sat Jun 16, 2012 11:27 am |
Re: Is there such a thing as branchless move generation? |
Vincent Diepeveen |
Sat Jun 16, 2012 11:35 am |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Sat Jun 09, 2012 2:43 pm |
Re: Is there such a thing as branchless move generation? |
Daniel Shawul |
Sat Jun 09, 2012 6:02 pm |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Sun Jun 10, 2012 2:21 pm |
Re: Is there such a thing as branchless move generation? |
Daniel Shawul |
Sun Jun 10, 2012 6:33 pm |
Re: Is there such a thing as branchless move generation? |
Daniel Shawul |
Sun Jun 10, 2012 7:16 pm |
Re: Is there such a thing as branchless move generation? |
Edmund Moshammer |
Sun Jun 10, 2012 9:24 pm |
Re: Is there such a thing as branchless move generation? |
Daniel Shawul |
Sun Jun 10, 2012 9:54 pm |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Sun Jun 10, 2012 10:14 pm |
Re: Is there such a thing as branchless move generation? |
Daniel Shawul |
Mon Jun 11, 2012 12:49 am |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Mon Jun 11, 2012 12:43 pm |
Re: Is there such a thing as branchless move generation? |
Daniel Shawul |
Mon Jun 11, 2012 2:41 pm |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Mon Jun 11, 2012 10:12 pm |
Re: Is there such a thing as branchless move generation? |
Daniel Shawul |
Mon Jun 11, 2012 11:12 pm |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Mon Jun 11, 2012 11:41 pm |
Re: Is there such a thing as branchless move generation? |
Vincent Diepeveen |
Sat Jun 16, 2012 9:56 am |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Sun Jun 10, 2012 10:58 pm |
Re: Is there such a thing as branchless move generation? |
Gerd Isenberg |
Sat Jun 09, 2012 7:48 pm |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Sun Jun 10, 2012 5:28 pm |
Re: Is there such a thing as branchless move generation? |
Edmund Moshammer |
Fri Jun 08, 2012 10:32 am |
Re: Is there such a thing as branchless move generation? |
John Hamlen |
Sat Jun 09, 2012 2:57 pm |
Re: Is there such a thing as branchless move generation? |
Vincent Diepeveen |
Sat Jun 16, 2012 8:57 am |
Re: Zeta CL uses Magic Bitboards |
Srdja Matovic |
Mon Jun 11, 2012 2:53 pm |
Re: Zeta CL uses Magic Bitboards |
Gerd Isenberg |
Mon Jun 11, 2012 8:55 pm |
Re: Zeta CL uses Magic Bitboards |
Srdja Matovic |
Mon Jun 11, 2012 9:35 pm |
Re: Zeta CL uses Magic Bitboards |
Daniel Shawul |
Mon Jun 11, 2012 11:26 pm |
Re: Zeta CL uses Magic Bitboards |
Srdja Matovic |
Tue Jun 12, 2012 1:16 am |
Re: Zeta CL uses Magic Bitboards |
Gerd Isenberg |
Tue Jun 12, 2012 6:58 am |
Re: Zeta CL uses Magic Bitboards |
Daniel Shawul |
Tue Jun 12, 2012 1:46 pm |
Re: Zeta CL uses Magic Bitboards |
Srdja Matovic |
Tue Jun 12, 2012 2:35 pm |
Re: Zeta CL uses Magic Bitboards |
Daniel Shawul |
Tue Jun 12, 2012 4:37 pm |
Re: Zeta CL uses Magic Bitboards |
Vincent Diepeveen |
Sat Jun 16, 2012 8:46 am |
Re: Zeta CL uses Magic Bitboards |
Daniel Shawul |
Sat Jun 16, 2012 11:17 am |
Re: Zeta CL uses Magic Bitboards |
Vincent Diepeveen |
Sat Jun 16, 2012 11:30 am |
Re: Zeta CL uses Magic Bitboards |
Daniel Shawul |
Sat Jun 16, 2012 1:56 pm |
Re: Zeta CL uses Magic Bitboards |
Vincent Diepeveen |
Sat Jun 16, 2012 2:51 pm |
Re: Zeta CL uses Magic Bitboards vs Kogge-Stone |
Srdja Matovic |
Tue Jun 12, 2012 1:05 am |
Re: Zeta CL uses Magic Bitboards vs Kogge-Stone |
Gerd Isenberg |
Tue Jun 12, 2012 6:31 am |
Re: Zeta CL uses Magic Bitboards |
John Hamlen |
Mon Jun 11, 2012 10:35 pm |
Re: Zeta CL uses Magic Bitboards |
Daniel Shawul |
Mon Jun 11, 2012 11:00 pm |
Re: Is there such a thing as branchless move generation? |
Vincent Diepeveen |
Sat Jun 16, 2012 8:40 am |
Re: Is there such a thing as branchless move generation? |
Vincent Diepeveen |
Sat Jun 16, 2012 9:23 am |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|