"It just isn't conceivable that you can design a program strong enough to beat players like me."

April 5, 2015

Fighting with cpu throttling

Processors never like chess engines because they want to suck out every bit of the silicone power provided.
Cpu manufacturers build and promote their chips for maximum frequencies they can reach.
The problem is how long they can remain fully loaded at max speed. Almost every processor available today uses strategies to avoid melting down, mostly by shifting load between cores and/or lowering freqs, separately or together.
We as testers, just can't accept that.  We need advertised speeds all the time. We are mean!
In contrast to regular public opinion chess is much more demanding than Call of Duty or Need for Speed and none of the specific cpu stress utilities can force our processors more than Stockfish 6 running for minutes on all cores. Try and see with your own eyes how hot will become your tablet so easily.
In Rapidroid experiment my three trustable weapons against cpu thtottling are:
1) A refrigerator at 12C max. He he :-)
2) Cputemp in Statusbar: A nice utility to monitor the temp without having to touch anything,
3) Cpustats: A perfect tool to monitor the freqs per each core on the statusbar, again without touching anything.
This is the only formula to be sure every tournament starts at max speed and continues until the end without power loss. In case the cpu shows up in throttle state,  i can at least detect the unexpected and replay impacted games, even the whole tourney is repeated when necessary.
Exynos 4412 is fully compatible with above tools while cheap Rockchips can't show the temps. They don't have the sensor for that. When they are forced too much, they simply freeze but it's even better because there are no games played in throttle state and i can just start over.
Another trick I recently verified is to run the processor at half speed but with double time control. I know it's slower but it's safe anyway and the total nodes per move are very similar.
Thus, if you test multi core engines vs other multi core ones, you should absolutely use efficient monitoring tools to be sure occasional abnomalies or degradations won't make your experiments suffer.

No comments: