I am building a workhorse computer for computing needs at work. The board is AsRock Taichi XE, and the CPU is the i9-7960X. I am not shooting for the best GHz, rather for a longer-term stability and a 3 year working life of the machine. My life is crunching numbers, not tuning hardware (although I have BSEE and MS in physics, so I have some ideas what I am tuning). At the very least, as a former physicist, I am taught very very well not to trust any measurement instrument. And now I see something that truly baffles me.
I am using prime95 to get the most heat out of the CPU. Currently I am charting the thermals (package power/hottest core) vs the number of workers on the same 8K FFT with AVX instructions disabled in prime95. What strikes me as super odd is that when I run 16 threads, I am getting the most power of the package, not when I run 32. All my runs are 2 minute ramp-up, then 10 minutes of measurement. I am using HWINFO, latest release, I believe, and reading the highest core Tj and package power reported by it. Sampling period is set to 500ms.
In either 16 or 32 tests, the core multipliers sit at x39. Core voltage does vary in units of mV, and is same within the margin of error in both 16 and 32 worker runs. Power min/max differ by a few watt over the 10 minute run. But. Here are the power dissipation results of an earlier run, before I tuned Vcore down:
16 workers cause the power dissipation of 265±4 W
32 workers 188±6W
That's a huge difference!
I expected the hyperthreading switching to produce more heat. I read (but never tried) that disabling HT lowers the dissipation somewhat. Now, with 32 workers and 16 physical and 32 logical HT cores, there should be really a lot of HT context switches. With 16, much fewer, only caused by OS background processes. This is where my thinking went wrong, and my understanding is obviously incorrect.
If that's important, Turbo Boost is enabled (I am hand-tuning the table to get the load chart more even), Turbo Boost 3.0 is enabled also (but makes no difference), and I have disabled both EIST and SST [EDIT typo: was "RST"] in the BIOS (and HWINFO reflects all 4 flags set as I configured, if I can trust it).
Does anyone have a similar experience? What is going on?
I am using prime95 to get the most heat out of the CPU. Currently I am charting the thermals (package power/hottest core) vs the number of workers on the same 8K FFT with AVX instructions disabled in prime95. What strikes me as super odd is that when I run 16 threads, I am getting the most power of the package, not when I run 32. All my runs are 2 minute ramp-up, then 10 minutes of measurement. I am using HWINFO, latest release, I believe, and reading the highest core Tj and package power reported by it. Sampling period is set to 500ms.
In either 16 or 32 tests, the core multipliers sit at x39. Core voltage does vary in units of mV, and is same within the margin of error in both 16 and 32 worker runs. Power min/max differ by a few watt over the 10 minute run. But. Here are the power dissipation results of an earlier run, before I tuned Vcore down:
16 workers cause the power dissipation of 265±4 W
32 workers 188±6W
That's a huge difference!
I expected the hyperthreading switching to produce more heat. I read (but never tried) that disabling HT lowers the dissipation somewhat. Now, with 32 workers and 16 physical and 32 logical HT cores, there should be really a lot of HT context switches. With 16, much fewer, only caused by OS background processes. This is where my thinking went wrong, and my understanding is obviously incorrect.
If that's important, Turbo Boost is enabled (I am hand-tuning the table to get the load chart more even), Turbo Boost 3.0 is enabled also (but makes no difference), and I have disabled both EIST and SST [EDIT typo: was "RST"] in the BIOS (and HWINFO reflects all 4 flags set as I configured, if I can trust it).
Does anyone have a similar experience? What is going on?
Last edited: