Search found 3028 matches

by lucasart
Tue Sep 15, 2020 12:35 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: SMP, first shot at implementation
Replies: 53
Views: 1522

Re: SMP, first shot at implementation

I think I stand by what I said in the past.IIRC with the XOR trick I measured nearly no collision, since the writes are atomic. It doesn't change the fact that everything surrounding the hash table is inherently unsafe - funnily this does not even change using safe Rust only, although one might tri...
by lucasart
Mon Aug 31, 2020 5:55 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Engine Crash Detective Story
Replies: 24
Views: 2397

Re: Engine Crash Detective Story

My priority is this regard is to eliminate all the color-specific code I have in my evaluation method. Also, remove duplicate code that controls sliding piece move generation and attack counts. Too much copy / paste / renaming of variables there. I need to generalize that code. In my experience, th...
by lucasart
Sun Aug 30, 2020 4:28 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Engine Crash Detective Story
Replies: 24
Views: 2397

Re: Engine Crash Detective Story

The evil thing that caused the crash that made it so hard to find was that the struct was passed by reference. If it were: foo->bar = value; you might immediately expect it could cause trouble in the caller. I did not look at the signatures closely enough and each and every one was a pass by refere...
by lucasart
Sun Aug 30, 2020 2:58 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: Engine Crash Detective Story
Replies: 24
Views: 2397

Re: Engine Crash Detective Story

Hi all. Recently I investigated a bug that caused my engine to crash in about 10 games of a 4,000 game tournament. One of those frustrating bugs that's not reproducible by a specific position or sequence of UCI commands. Rare enough that I kept putting off investigating it in favor of working on co...
by lucasart
Sat Aug 29, 2020 8:26 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: c-chess-cli
Replies: 56
Views: 9295

Re: c-chess-cli

Good point. Well then, that gives me another excuse to be lazy, and not implement ping in c-chess-cli. "isready" is still useful during the config phase to wait with new commands until lengthy ones are finished, like setting up EGTBs. Otherwise, you might start a game right away and erroneously sub...
by lucasart
Sat Aug 29, 2020 1:51 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: c-chess-cli
Replies: 56
Views: 9295

Re: c-chess-cli

But ping is necessary in any good GUI (or CLI). If the engine has 2h on the clock, and is hanging already, a ping could detect it quasi immediately (modulo time out margin), whereas waiting for the clock to time out is another 2h away! Is that statement true though? If I have a UCI thread polling f...
by lucasart
Fri Aug 28, 2020 11:55 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: c-chess-cli
Replies: 56
Views: 9295

Re: c-chess-cli

Extra thread is just correct software design, but is not mandatory (you can poll() every few nodes and read input sequentially). The reason for this is that the engine must be responsive while searching. At the very least, it must be responsive to "isready" , "stop", and "ponderhit". Ideally the pr...
by lucasart
Fri Aug 28, 2020 11:47 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: c-chess-cli
Replies: 56
Views: 9295

Re: c-chess-cli

Hello! I have just made a new test, with the latest code from the GitHub repository. test.sh ./c-chess-cli -cmd /home/roland/Applications/moteurs/slowchess/classic/22/slow64_linux:/home/roland/Applications/moteurs/alouette/012/alouette64 \ -tc 2+0.02 \ -games 2 \ -concurrency 1 \ -pgnout out.pgn \ ...
by lucasart
Thu Aug 27, 2020 5:09 am
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: c-chess-cli
Replies: 56
Views: 9295

Re: c-chess-cli

Xboard is a nightmare. UCI has flaws, but at least its clear. Not in my opinion. With xboard you don't need an extra thread. The commands integrate very well in the search. ... Interesting! Do you know why xboard engines can run without extra thread but not UCI ones? Because of “ping” command or so...
by lucasart
Wed Aug 26, 2020 11:43 pm
Forum: Computer Chess Club: Programming and Technical Discussions
Topic: c-chess-cli
Replies: 56
Views: 9295

Re: c-chess-cli

No idea of what the infraction is. :? Illegal move by Moustique. Black receives the position after f1g2, and plays f1g2 itself ? Moustique 0.3 <- position fen r1bqkbnr/pp1ppp1p/2n3p1/2p5/4P3/3P2P1/PPP2P1P/RNBQKBNR w KQkq - 0 4 moves f1g2 Moustique 0.3 <- go wtime 2072 winc 20 btime 1750 binc 20 Mou...