Search found 204 matches

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: 1057

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: 1183

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: 1393

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: 1393

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: 3754

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: 874

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: 86
Views: 6800

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.
by Sesse
Wed Apr 08, 2020 10:52 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Perft speed optimization (renamed)
Replies: 86
Views: 6800

Re: Can't get Minic to run perft?

Are you sure it's not being inlined?

Any profiler worth its salt should allow you to go in and look at individual lines or instructions these days, so you should be able to peek there.
by Sesse
Tue Mar 31, 2020 8:50 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Removing Large Arrays
Replies: 36
Views: 5893

Re: Removing Large Arrays

No I/O goes through caches. The I/O hardware has no access to cache, it is purely device -> memory and the reverse.
Some Xeons allow devices to DMA into the L3 cache (Intel DDIO).
by Sesse
Fri Mar 20, 2020 11:29 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Strange sporadic speed limitation in engine running in Linux on Ryzen
Replies: 19
Views: 3129

Re: Strange sporadic speed limitation in engine running in Linux on Ryzen

syzygy's explanation makes sense, and it's easy to see if it holds true or not. Run the binary with perf stat -d, and observe the ratio of L1 dcache misses to total accesses. If it's much higher in the slow runs, it's likely that you're seeing an L1 cache aliasing effect (bank conflicts).