There is a possibility that we can speedup refreshes by using something called a "Finny table", introduced by Luecx (one of the authors of Koivisto). A relevant commit: AndyGrant/Ethereal@c5ba24d (note that this is in Ethereal instead)
The way this works is that we have an array of computed accumulators + bitboards indexed by bucket index. This way, when we require a refresh, we can simply update the difference from the computed accumulator rather than from scratch.
In addition, Andrew has been speaking quite a bit on potential NNUE speedups that Torch has but Stockfish doesn't, and there is a high chance that this is one of them.
So far, I have checked and it seems Stockfish doesn't have this idea. Maybe we can explore this? I am not sure how easy this is to implement.
cc @mstembera I think you might be interested :)
source:
https://github.com/official-stockfish/Stockfish/discussions/5180#discussioncomment-9169650
Finny Tables - Idea on NNUE speedup
Moderators: Elijah, Igbo, timetraveller
-
- Global moderators
- Points: 6 305,00
- Forum Contributions
- Posts: 2145
- Joined: 01/11/2019, 14:27
- Status: Offline (Active 2 Hours, 23 Minutes ago)
- Medals: 2
- Topics: 351
- Reputation: 382
- Location: Biergarten
- Has thanked: 1917 times
- Been thanked: 4083 times