Finny Tables - Idea on NNUE speedup

Moderators: Elijah, Igbo, timetraveller

timetraveller

Top contribute Forum Top Active Users
Global moderators
Points: 6 301,00 
Forum Contributions
Posts: 2144
Joined: 01/11/2019, 14:27
Status: Offline (Active 9 Hours, 35 Minutes ago)
Medals: 2
Topics: 351
Reputation: 381
Location: Biergarten
Has thanked: 1914 times
Been thanked: 4083 times

Finny Tables - Idea on NNUE speedup

Post by timetraveller »

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

Return to “Programming, Technical Discussions, Chess related questions etc.”