Search found 19583 matches

by hgm
Thu Apr 15, 2021 5:25 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 121
Views: 10010

Re: The mailbox trials

So much for my great ideas... :( When I write x *= 0x200000001ull; the compiler optimizes the multiplier away, for a shift and an add! :shock: I suppose the problem is that there is no load immediate for 64-bit operands in x64 architecture. So you would have to load the multiplier from a memory vari...
by hgm
Thu Apr 15, 2021 4:51 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: PST-only Evaluation for MinimalChess 0.4
Replies: 16
Views: 282

Re: PST-only Evaluation for MinimalChess 0.4

Well, that is PeSTO itself, of course. And it has no Pawn evaluator. Just PST, as the name suggests.
by hgm
Thu Apr 15, 2021 4:49 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Missing input in ponder
Replies: 7
Views: 101

Re: Missing input in ponder

That you use PeekNamedPipe suggest that you do not use a separate input thread, which is just hanging in a read call, blocked while waiting for input to arrive. But instead have the search thread poll for arrival of input, and only read it when there is something to read. This can give problems with...
by hgm
Thu Apr 15, 2021 1:02 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 121
Views: 10010

Re: The mailbox trials

OK, if branches is he problem, let's try to eliminate as many of those as possible. The problem of course is that you then have to do unconditionally everything you could ever have to do, always. But the merging of the sets in 64-bit arithmetic did not seem excessively costly, so perhaps this will p...
by hgm
Thu Apr 15, 2021 9:02 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 121
Views: 10010

Re: The mailbox trials

Piece-Pair Encoding This morning I got a new idea. By keeping the encoding of pieces such that pairs of equally valued pieces have consecutive number, you can load the 32-bit attackers sets of the pair of them in a single 64-bit operation. The encoding I am currently using (16=PPPPPPPPNNBBRRQKppppp...
by hgm
Wed Apr 14, 2021 10:18 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 121
Views: 10010

Re: The mailbox trials

Just for the record, this is the latest profile: % cumulative self self total time seconds seconds calls s/call s/call name 21.58 1.10 1.10 24766537 0.00 0.00 Search 17.46 1.99 0.89 21869485 0.00 0.00 MovePiece 13.54 2.68 0.69 21869485 0.00 0.00 Finish 13.14 3.35 0.67 32777822 0.00 0.00 SearchCaptur...
by hgm
Wed Apr 14, 2021 6:41 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 121
Views: 10010

Re: The mailbox trials

One problem is ha the development is not linear. I try a lot of stuff that seems it should work, but then in practice just slows down things. Then I revert those, but some of the modifications that were neutral stay in. So by the time I have found something that does work, the diff compared to the p...
by hgm
Tue Apr 13, 2021 12:13 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 121
Views: 10010

Re: The mailbox trials

Keeping Track of Attacked Pieces Because things were getting more complex than is healthy, the following thought occurred to me: what if we just try to keep an incrementally updated summary of attacked pieces? In the format of a 'victim set', i.e. one bit per piece to indicate if that piece is atta...
by hgm
Mon Apr 12, 2021 7:01 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 121
Views: 10010

Re: The mailbox trials

So the next routine to scrutinize is SearchCapture(), which is the combined make-search-unmake-minimax for captures, to which the Search() it calls furthermore outsources the determination of the MVV. (So that overkill pruning can be applied before making the move if it turns out no suitable MVV is ...
by hgm
Mon Apr 12, 2021 2:23 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: The mailbox trials
Replies: 121
Views: 10010

Re: The mailbox trials

I also have a Linux VM on my laptop, and managed to move the program there, so I could profile it. The gcc I have there apparently is a 64-bit one. This makes the program run significantly faster, even though it hardly uses 64-bit data types. The version with the differentiated move-step lists now t...