We don't have a GUI interface into the SCC power management. You could set the voltage of cores in a power domain to zero with a program, however. You can also turn off the clock for a tile (note that this affects both cores).
When you say program does that mean RCCE program with calls to power management routines.
can you please explain how to turn off the clock for a tile or point me in to direction of any documentation which explains it.
1 of 1 people found this helpful
It doesn't have to be RCCE. I just meant not though the GUI.You could also (I just got mail about this today) write the STOPCLK# bit in the core configuration register. Table 7 in the EAS. And you can do this from the Gui. Send Flit via SystemIF, register GLCFG0. I'll get a screenshot and post.
Few more question:
How long does it takes before changes comes in to effect when "Send Flit via SystemIF" used?
when system initialization is just done it uses around 50 watts (when reset is pulled it uses nearly same amount), but when linux is booted on all cores it uses around 32 watts?
If you can shed some light on this question that would be grate.
I don't know how long it takes for changes propagated thorugh the Gui to take effect. It is going though the SIF from the MCPC. It's not at the speed of a program. I'll make a guess and say on the order of a second and see if someone corrects me.
Yes, I have seen the power be higher after training than after a Linux boot. Linux may be doing some power management on its own. We're guessing that there may be some clock gating going on when Linux is just booted and quiescent. The power you see just after booting is a good baseline to use. If you run a computational package like Linpack on all cores, you should see this power more than double.
The power you see with the status command is for both the cores and the mesh. The power for the mesh should stay essentially contant. It goes up when there is a lot of message passing, but not significantly. You should see an increase in total power mostly coming from core power when you run something heavily computational like Linpack.
About STPCLK ... if you pull the STPCLK signal for all cores through the GUI you should be able to see a lower current of 3V3SCC supply voltage using the status command on the BMC. Just pulling it for one core may not be enough to see a significant change in the current.
I am wondering how could we set the voltage of a power domain to zero in our own program?
The function RCCE_iset_power() in RCCE library can only lower the voltage to 0.7V, or is there
another API can set the voltage to 0V?
My second question is when we set the STPCLK bit in the config register for one core, say core0,
does stop the clock for only core 0, or it stops the clock for core 0 and core 1 on the same tile?
Thank you very much!