Board representation, evaluation speed and NNUE
Moderator: Ras
-
gaard
- Posts: 463
- Joined: Mon Jun 07, 2010 3:13 am
- Location: Holland, MI
- Full name: Martin W
Board representation, evaluation speed and NNUE
My understanding is that bitboards make conventional position evaluations significantly faster, especially compared to mailbox, and that was primarily why many people abandoned mailbox years ago. Does NNUE negate that advantage any or is NNUE performance also heavily dependent on board representation?
-
AndrewGrant
- Posts: 1960
- Joined: Tue Apr 19, 2016 6:08 am
- Location: U.S.A
- Full name: Andrew Grant
Re: Board representation, evaluation speed and NNUE
NNUE should not be impacted very much by board representation. Most updates are incremental, and I can see it being of equal cost both ways. The performance gap in NNUE is Fused-Multiply-Adds from the Input Layer to Layer 1, not the way you define the board structure.gaard wrote: ↑Wed Sep 29, 2021 9:22 pm My understanding is that bitboards make conventional position evaluations significantly faster, especially compared to mailbox, and that was primarily why many people abandoned mailbox years ago. Does NNUE negate that advantage any or is NNUE performance also heavily dependent on board representation?
-
gaard
- Posts: 463
- Joined: Mon Jun 07, 2010 3:13 am
- Location: Holland, MI
- Full name: Martin W
Re: Board representation, evaluation speed and NNUE
In your opinion, then, does this negate the main performance advantages of a bitboard engine?AndrewGrant wrote: ↑Wed Sep 29, 2021 10:42 pmNNUE should not be impacted very much by board representation. Most updates are incremental, and I can see it being of equal cost both ways. The performance gap in NNUE is Fused-Multiply-Adds from the Input Layer to Layer 1, not the way you define the board structure.gaard wrote: ↑Wed Sep 29, 2021 9:22 pm My understanding is that bitboards make conventional position evaluations significantly faster, especially compared to mailbox, and that was primarily why many people abandoned mailbox years ago. Does NNUE negate that advantage any or is NNUE performance also heavily dependent on board representation?
-
Sopel
- Posts: 391
- Joined: Tue Oct 08, 2019 11:39 pm
- Full name: Tomasz Sobczyk
Re: Board representation, evaluation speed and NNUE
It doesn't negate it, just makes it relatively smaller
dangi12012 wrote:No one wants to touch anything you have posted. That proves you now have negative reputations since everyone knows already you are a forum troll.
Maybe you copied your stockfish commits from someone else too?
I will look into that.
-
AndrewGrant
- Posts: 1960
- Joined: Tue Apr 19, 2016 6:08 am
- Location: U.S.A
- Full name: Andrew Grant
-
amanjpro
- Posts: 883
- Joined: Sat Mar 13, 2021 1:47 am
- Full name: Amanj Sherwany
Re: Board representation, evaluation speed and NNUE
If you can make your move generator as fast, and SEE computation as fast using another techniques other than bitboards, then yes.
But I'm my very little experience bitboards shine in these two areas more than any other technologies
But I'm my very little experience bitboards shine in these two areas more than any other technologies
-
hgm
- Posts: 28401
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Board representation, evaluation speed and NNUE
A good mailbox implementation is faster than bitboards. But with NNUE the evaluation gets to dominate the time usage completely. And unlike HCE, it doesn't take any advantage from one representation or another.
-
dangi12012
- Posts: 1062
- Joined: Tue Apr 28, 2020 10:03 pm
- Full name: Daniel Infuehr
Re: Board representation, evaluation speed and NNUE
I can 100% confirm that this is not the case at all. There are a list of about a dozen optimisations that are not applicable to mailslots but to bitboards only.
Btw I can say that for sure because I implemented dozens of different approaches and it always goes that all mailslot ideas can be implemented in bitboards but not always the other way around:
Movegen - Single Thread - No Hash - Bulk counting Enabled.
Perft 7: 3195901860 2180ms
Perft Kiwi 6: 8031647685 3921ms
But yeah CPU time will be spent in NNUE - or pruning + sorting in general. Since every move not saved will translate to literally billions of wasted moves a few steps down the tree.
Worlds-fastest-Bitboard-Chess-Movegenerator
Daniel Inführ - Software Developer
Daniel Inführ - Software Developer
-
AndrewGrant
- Posts: 1960
- Joined: Tue Apr 19, 2016 6:08 am
- Location: U.S.A
- Full name: Andrew Grant
Re: Board representation, evaluation speed and NNUE
Bulk counting would obviously favor bitboards. General case, I think they are not so different speed wise. Both have advantages.dangi12012 wrote: ↑Thu Sep 30, 2021 4:16 pmI can 100% confirm that this is not the case at all. There are a list of about a dozen optimisations that are not applicable to mailslots but to bitboards only.
Btw I can say that for sure because I implemented dozens of different approaches and it always goes that all mailslot ideas can be implemented in bitboards but not always the other way around:
Movegen - Single Thread - No Hash - Bulk counting Enabled.
Perft 7: 3195901860 2180ms
Perft Kiwi 6: 8031647685 3921ms
But yeah CPU time will be spent in NNUE - or pruning + sorting in general. Since every move not saved will translate to literally billions of wasted moves a few steps down the tree.
-
hgm
- Posts: 28401
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Board representation, evaluation speed and NNUE
Perft speed is meaningless for an engine. Engines do so many things that are ignored in perft. And they must mainly generate captures.