Hyperthreading and Chess Analysis

Ace_Club

I've read many of the forum topics on hyperthreading and why, while you will get short-term kn/s gains, the overall analysis quality will suffer.

My question is this: I have a quad core machine. I want to run all 4 cores during analysis. Do I: 

a) leave hyperthreading as enabled and set the number of threads as 4 in the engine configuration 

-or-

b) turn off hyperthreading and set the number of threads as 4 in the engine configuration?

custardgirl

Can you also explain the idea of kn/s to me ?

theturk1234

Ace_Club,

Option (a is correct.

Custardgirl,

Kn/s is kilo nodes a second--the engine is looking at x thousand(kilo) positions (nodes) a second.

Good luck!

Ace_Club

@theturk1234

Thanks for the response! Would you mind explaining, for my own curiosity, as to why option a) over option b)?

In my mind, and I may be thinking about this incorrectly, wouldn't option a) still allow for degraded performance if the computer is using one of the hyperthreads for some non-chess function? I only ask because I've tried option a) before and it results in 50% CPU usage. I would have thought that utilizing all 4 cores to analyze would have resulted in 90%-100% CPU usage. 

pfren

I also have a quad-core i7-4790K box, and I run it with turbo boost and hyperthreading off. Engines are set to 4 cores if one is used, and 2 cores when two are running in parallel.

Turbo boost is disabled to avoid stability problems, while hyperthreading on slightly degrades performance - kN/S are useless to anyone else than programmers.

But these settings are optimal if the box does nothing else than analysing. If you want to run some other task on it, you must have hyperthreading on, else the response will be horrible.

So, the best compromise for a "normal" machine is HT on and no. of cores set to 4. And of course it would be nice to use an el-cheapo graphics card on it, so that the CPU would not be involved in the graphics part.

SilentKnighte5

I have HT disabled on my octo-core, but it doesn't matter as long as you set threads = physical cores.

However, some testing recently has revealed some engines may actually receive an elo benefit if using all logical processors even if that's counterintuitive.