CPU 基准测试的频率应该有多稳定?
How Stable Should CPU Frequency Be for Benchmarking?
注意:问题末尾提供了详尽的系统详细信息。
我试图让我的开发机器具有非常稳定的 CPU 频率,以便我可以获得一些线性代数代码的精确基准 - 然而,它仍然显示出显着的频率波动。
我已将缩放调控器设置为 performance
模式:
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
我也把所有东西都锁在了C0
状态:
sudo cpupower idle-set -D 0
但是,使用 i7z
,我仍然观察到 CPU 频率波动 >5%。关于我是否应该采取进一步的步骤将 CPU 频率限制为固定值,或者是否无法获得更精确的频率限制,我将非常感谢您的指导。
附录:
我的处理器是英特尔酷睿 i7-9750H:
cat /proc/cpuinfo | grep 'model name'
model name : Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
...
它有 12 个逻辑 CPU 和 6 个物理核心:
lscpu -a -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ
0 0 0 0 0:0:0:0 yes 4500.0000 800.0000
1 0 0 1 1:1:1:0 yes 4500.0000 800.0000
2 0 0 2 2:2:2:0 yes 4500.0000 800.0000
3 0 0 3 3:3:3:0 yes 4500.0000 800.0000
4 0 0 4 4:4:4:0 yes 4500.0000 800.0000
5 0 0 5 5:5:5:0 yes 4500.0000 800.0000
6 0 0 0 0:0:0:0 yes 4500.0000 800.0000
7 0 0 1 1:1:1:0 yes 4500.0000 800.0000
8 0 0 2 2:2:2:0 yes 4500.0000 800.0000
9 0 0 3 3:3:3:0 yes 4500.0000 800.0000
10 0 0 4 4:4:4:0 yes 4500.0000 800.0000
11 0 0 5 5:5:5:0 yes 4500.0000 800.0000
我是 运行 Ubuntu 18.04:
~ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
您的 post 中未提及的一个案例是英特尔的涡轮增压。您可以通过将 1
写入 /sys/devices/system/cpu/intel_pstate/no_turbo
来禁用它。此设置在 BIOS 中也可用,但我不确定效果是否 100% 等效。
注意:问题末尾提供了详尽的系统详细信息。
我试图让我的开发机器具有非常稳定的 CPU 频率,以便我可以获得一些线性代数代码的精确基准 - 然而,它仍然显示出显着的频率波动。
我已将缩放调控器设置为 performance
模式:
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
我也把所有东西都锁在了C0
状态:
sudo cpupower idle-set -D 0
但是,使用 i7z
,我仍然观察到 CPU 频率波动 >5%。关于我是否应该采取进一步的步骤将 CPU 频率限制为固定值,或者是否无法获得更精确的频率限制,我将非常感谢您的指导。
附录:
我的处理器是英特尔酷睿 i7-9750H:
cat /proc/cpuinfo | grep 'model name'
model name : Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
...
它有 12 个逻辑 CPU 和 6 个物理核心:
lscpu -a -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ
0 0 0 0 0:0:0:0 yes 4500.0000 800.0000
1 0 0 1 1:1:1:0 yes 4500.0000 800.0000
2 0 0 2 2:2:2:0 yes 4500.0000 800.0000
3 0 0 3 3:3:3:0 yes 4500.0000 800.0000
4 0 0 4 4:4:4:0 yes 4500.0000 800.0000
5 0 0 5 5:5:5:0 yes 4500.0000 800.0000
6 0 0 0 0:0:0:0 yes 4500.0000 800.0000
7 0 0 1 1:1:1:0 yes 4500.0000 800.0000
8 0 0 2 2:2:2:0 yes 4500.0000 800.0000
9 0 0 3 3:3:3:0 yes 4500.0000 800.0000
10 0 0 4 4:4:4:0 yes 4500.0000 800.0000
11 0 0 5 5:5:5:0 yes 4500.0000 800.0000
我是 运行 Ubuntu 18.04:
~ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
您的 post 中未提及的一个案例是英特尔的涡轮增压。您可以通过将 1
写入 /sys/devices/system/cpu/intel_pstate/no_turbo
来禁用它。此设置在 BIOS 中也可用,但我不确定效果是否 100% 等效。