Intel® oneAPI HPC Toolkit
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2061 Discussions

Changing the Processor C states

I have another question related to power consumption on Nehalem machines. I have been able to change the processor frequency by editing the value in the file /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed. I have also played around with changing the T-states by editing the file /proc/acpi/processor/P001/throttling. I am trying to scale these values from within my application by opening the necessary files, changing the values and closing them at the end of the application. I am also interested in forcing the CPU to go into the C-states during certain periods of my application. My nehalem machine seems to be having the following settings concerning the C-states :

cat /proc/acpi/processor/P001/power
active state: C1
max_cstate: C8
bus master activity: fff80000
*C1: type[C1] promotion[C2] demotion[--] latency[000] usage[21796988] duration[00000000000000000000]
C2: type[C3] promotion[C3] demotion[C1] latency[096] usage[00150826] duration[00000000000441615530]
C3: type[C3] promotion[--] demotion[C2] latency[128] usage[00391917] duration[00000000001096529429]

I am not too sure at this point of time if forcing the processors to go to the C-state is beneficial to my application, but, I would like to give it a shot. I have not yet come across any article that describes how we can manually force the processor to move into a C-state. Is it even possible to do something like that reliably from the application or the middleware layers?

0 Kudos
0 Replies