Search found 207 matches

by Sesse
Mon Oct 19, 2020 11:04 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: BONA_PIECE_ZERO
Replies: 18
Views: 1150

Re: BONA_PIECE_ZERO

This is the BONA_PIECE_ZERO mystery. The +1 is a small waste of memory. It doesn't really hurt. Also, having a prime index makes it much harder to get into cache associativity issues! :-) (I doubt this was ever an intended reason, and it probably doesn't matter in this case, but it can sometimes be...
by Sesse
Tue Sep 08, 2020 10:16 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Neural network quantization
Replies: 11
Views: 1496

Re: Neural network quantization

The most common way of doing NN weight quantization is AFAIK bog-simple linear quantization. Since the weights are for the linear step, it's fine to have a 1e-5 weight go to 0, because it's effectively 0 anyway compared to that +64 or -57 weight. You store the scale factors per layer (sometimes also...
by Sesse
Sat Aug 08, 2020 10:47 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Idea #13 [experiment]
Replies: 14
Views: 3059

Re: Idea #13 [experiment]

For all the pieces that _didn't_ move, give a small positive bonus for the square they're on? Should fix the root pawn issue.
by Sesse
Wed Jun 17, 2020 3:34 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Removing bugs from bug free functions
Replies: 20
Views: 4272

Re: Removing bugs from bug free functions

Or you can use Clang, which has 64-bit ASan (also on Windows).
by Sesse
Thu May 14, 2020 6:53 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: sort every moves or pickNext
Replies: 14
Views: 1973

Re: sort every moves or pickNext

Ideally, I guess just generate the good moves first, instead of generating and then sorting? E.g., if you sort good captures first, generate them before anything else. The canonical structure for this would be the binary heap, but it suffers from extreme branch misprediction. (A winner tree is bette...
by Sesse
Thu May 14, 2020 8:33 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Chess960 / Fischer Random Perft Wiki Results
Replies: 18
Views: 2599

Re: Chess960 / Fischer Random Perft Wiki Results

I am still running Chess.js on the depth 6 results…

nrbbnk1r/pp2pppq/8/2pp3p/3P2P1/1N6/PPP1PP1P/1RBBNKQR w HBhb - 0 9. Chess.js perf depth 6 on my machine: 2526 seconds. Stockfish 11: Below 9 seconds! Clearly, there is some room for improvement here. =)
by Sesse
Mon May 11, 2020 9:19 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Chess960 / Fischer Random Perft Wiki Results
Replies: 18
Views: 2599

Re: Chess960 / Fischer Random Perft Wiki Results

My Chess.js fork seemingly handles this situation correctly, although I have no idea why. =)
by Sesse
Wed May 06, 2020 12:18 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Some Chess960/FRC positions to be confirmed
Replies: 13
Views: 4985

Re: Some Chess960/FRC positions to be confirmed

Late to the party, but I've verified most of these in my Chess960 Chess.js fork. (Raw node counts only. It takes forever to get to depth 7, so I'm not sure if I ran all of them that far.)
by Sesse
Mon May 04, 2020 9:19 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: I think its vapor (hard)ware
Replies: 3
Views: 1146

Re: I think its vapor (hard)ware

Dann Corbit wrote:
Sun May 03, 2020 11:11 pm
https://www.trentonsystems.com/products/bam-board

12 memory sticks per CPU?
I never saw a configuration that was not a power of 2
Skylake-SP has six memory channels per CPU, so 12 memory sticks per CPU would be expected. (Not saying anything about the rest of the page.)
by Sesse
Wed Apr 08, 2020 9:00 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Perft speed optimization (renamed)
Replies: 107
Views: 9996

Re: Can't get Minic to run perft?

If you have debugging information, at least perf will de-inline it for you when showing the profile; pass the --inline flag. (It's not perfect, but it's a lot better than nothing.) This is assuming Rust's tool chain gives out full DWARF, which I'd assume it does.