-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
clock detectd is not right for hybrid CPU. #93
Comments
Hi Edison, Thanks for this report.
This is because You could do it like this:
This explicitly sets the variable for the sudo'd process. Or you can use |
@edisonchan that is because However, you can run the test with turbo enabled if you'd like: just run the binary |
You can confirm this by doing a |
@travisdowns thanks for the replies. and I have another question related. According Intel, when idle=poll, that is mean the CPU keep run NOPs, will that cause the test results not right? |
Makes sense. You can run it like |
It would not directly affect "steady state" test results. It just means the CPU will be "hot polling" while it has nothing to do, e.g., before and after the test. The effects are generally: (a) the CPU always runs at a high frequency, rather than ramping down during idle and then back up under load and (b) more heat generated and the CPU runs hotter for the same reason. Effect (a) can mean that results are more stable since you don't have the frequency ramp-up period, but on the other hand uarch-bench already has lots of warmup in there to try to ensure the CPU is already running at its target frequency before the measurements start. Effect (b) can have the opposite effect: poll might produce slower and less stable resluts if the CPU throttles from heat because it starts the test already at a high temperature (e.g., the heat sink is already saturated) versus the case where the CPU starts cool and take take advantage of the thermal mass of the cooling system to run at higher than steady-state frequency for a while which may be long enough to complete the test. |
OS: ubuntu 22.04.1 kernel 5.19.1
CPU: Intel 12900KF.
situation 1
bios: disable all e-core, CPU freq= 4GHz, grub kernel command line add idle=poll(disable C-state):
cpupower show all cores(pcore) run at 4GHz.
then:
export UARCH_BENCH_CLOCK_MHZ=4000
sudo ./uarch-bench.sh
Median CPU speed: 3.201 GHz
UARCH_BENCH_CLOCK_MHZ does not work?
situation 2
bios: enable e-core , CPU freq= default, grub kernel command line add idle=poll(disable C-state):
cpupower show p-cores run at 5.2GHz and e-cores run at 3.7GHz
UARCH_BENCH_CLOCK_MHZ not set.
sudo ./uarch-bench.sh
Median CPU speed: 3.101 GHz
The problem here is the Median CPU speed was detected as 3.101 GHz, that is not right for p-cores and e-cores.
The text was updated successfully, but these errors were encountered: