Page 1 of 2

Pause calculation / analysis engines

Posted: Thu May 02, 2019 11:58 am
by Rapakei
Hello chess friends,

Is possible to do, I give an example:

Today I start party nr 1 a few hours of calculation / analysis and then put him on a break and then continue on another day with calculation / analysis without losing any information / calculation. Do you understand what I mean?

I work with Chessbase.

Regards, Raph

Re: Pause calculation / analysis engines

Posted: Thu May 02, 2019 2:26 pm
by hgm
Most engines do not offer a pause functionality. The UCI protocol does not have or allow it, and although WB protocol defines 'pause' and 'resume' commands, hardly any WB engine supports those.

What I usually do when I want to suspend a multi-day analysis in progress because I want to use the computer for some other heavy-duty task in between, is use the Windows task manager to set an affinity of the task to be suspended to a single hyper thread, and put its priority 'below normal'. Then it hardly loads the system.

Re: Pause calculation / analysis engines

Posted: Thu May 02, 2019 4:36 pm
by Rapakei
hgm wrote: Thu May 02, 2019 2:26 pm Most engines do not offer a pause functionality. The UCI protocol does not have or allow it, and although WB protocol defines 'pause' and 'resume' commands, hardly any WB engine supports those.

What I usually do when I want to suspend a multi-day analysis in progress because I want to use the computer for some other heavy-duty task in between, is use the Windows task manager to set an affinity of the task to be suspended to a single hyper thread, and put its priority 'below normal'. Then it hardly loads the system.

In that case, therefore, should the Chessbase program remain open?

saving the party's calculations and continuing those calculations later is also not an option?

Re: Pause calculation / analysis engines

Posted: Fri May 03, 2019 2:25 am
by Spill_The_Tea
I have never used it before, but I believe Komodo has an option to save Hash to a file to be able to load for later use.
I think in theory, this is what you are looking for?

Re: Pause calculation / analysis engines

Posted: Fri May 03, 2019 8:24 am
by Guenther
Rapakei wrote: Thu May 02, 2019 11:58 am Hello chess friends,

Is possible to do, I give an example:

Today I start party nr 1 a few hours of calculation / analysis and then put him on a break and then continue on another day with calculation / analysis without losing any information / calculation. Do you understand what I mean?

I work with Chessbase.

Regards, Raph
Do a forum search for 'persistent hash'. There are engines which support this option, e.g. Rybka, Komodo, Houdini (6?),
some AsmFish flavours, Andscacs IIRC and others. They independently save the hash from your calculations to a file and can reload
the filled/learned file for further calculations. This is independent from the GUI of course.

Re: Pause calculation / analysis engines

Posted: Fri May 03, 2019 11:29 am
by hgm
Saving the hash and restarting the analysis after reloading it is not the same as continuing the analysis undisturbed. If you are satisfied with that you might as well just have terminated the analysis (but not quit the GUI or unload the engine), and restart the analysis when you are done with the other task. You can do that with any engine, it doesn't require any special support at all.

Re: Pause calculation / analysis engines

Posted: Fri May 03, 2019 11:42 am
by adams161
Rapakei wrote: Thu May 02, 2019 4:36 pm In that case, therefore, should the Chessbase program remain open?
If you want to slow the engine down to one thread and below normal priority in the task manager leave chessbase open. Chessbase will be a different process in the task manager than the engine. the engine might be stockfish in the task manager or pulsar.exe. Slow that process down, not the client, Chessbase. Chessbase can remain open and be not high load. It is the engine process that is the load.

Re: Pause calculation / analysis engines

Posted: Fri May 03, 2019 12:10 pm
by Eelco de Groot
hgm wrote: Fri May 03, 2019 11:29 am Saving the hash in memory and restarting the analysis after reloading it is not the same as continuing the analysis undisturbed. If you are satisfied with that you might as well just have terminated the analysis (but not quit the GUI or unload the engine), and restart the analysis when you are done with the other task. You can do that with any engine, it doesn't require any special support at all.
Saving/keeping the hash (in working memory) and restarting the analysis, not after reloading but just after stopping the engine I often do when I want better analysis (at cost of result not being totally reproducible anymore in one thread mode). I usually use just single thread so this works a bit better, because Stock already emulates this somewhat when using more threads. Not a whole restart but sending up another search with a different thread and slightly different depth whenever using more than one thread. Difficult to test with the framework but I do not doubt that it works, just to restart the engine from depth 0. As far as I know Chessbase only allows one instance so, IMO serious weakness compared to other GUIs. For instance I have 14 instances of Shredder open right now, all halted and completely not useful anymore but the hash is still there. Winboard has even smaller footprint I think.

Re: Pause calculation / analysis engines

Posted: Fri May 03, 2019 12:17 pm
by hgm
Not sure what you mean by 'saving the hash' here. When you stop the engine, and later set it analyzing again, the hash would always still be there, right? It does not clear the hash at the start of every analysis.

Re: Pause calculation / analysis engines

Posted: Fri May 03, 2019 12:38 pm
by Eelco de Groot
Yes, that is what I meant Harm, I edited my post a little when I saw it was confusing. As far as I know, Windows keeps the hash intact although I have not really tested it, I don't play correspondence chess or things like that. But certainly for short perods of time you can do this now. Windows should write the hashtables to disk if it needs the working memory, and be able to pick it up from there again.