diff --git a/cmd/config/config.go b/cmd/config/config.go index 5dcb7544..ec5edd76 100644 --- a/cmd/config/config.go +++ b/cmd/config/config.go @@ -749,19 +749,81 @@ func setLlcSize(llcSize float64, myTarget target.Target, localTempDir string) { func setCoreFrequency(coreFrequency float64, myTarget target.Target, localTempDir string) { fmt.Printf("set core frequency to %.1f GHz on %s\n", coreFrequency, myTarget.GetName()) - freqInt := uint64(coreFrequency * 10) - var msr uint64 - for i := range 8 { - msr = msr | freqInt< sse=$(pcm-tpmi 0x5 0xA8 -i 0 -e 0 | tail -n 2 | head -n 1 | awk '{print $3}') # SST_PP_INFO_4 + sse=$(rdmsr 0x1ad) # MSR_TURBO_RATIO_LIMIT: Maximum Ratio Limit of Turbo Mode avx2=$(pcm-tpmi 0x5 0xB0 -i 0 -e 0 | tail -n 2 | head -n 1 | awk '{print $3}') # SST_PPINFO_5 avx512=$(pcm-tpmi 0x5 0xB8 -i 0 -e 0 | tail -n 2 | head -n 1 | awk '{print $3}') # SST_PPINFO_6 avx512h=$(pcm-tpmi 0x5 0xC0 -i 0 -e 0 | tail -n 2 | head -n 1 | awk '{print $3}') # SST_PPINFO_7 amx=$(pcm-tpmi 0x5 0xC8 -i 0 -e 0 | tail -n 2 | head -n 1 | awk '{print $3}') # SST_PPINFO_8 -else # if cpu is not SRF or GNR get the frequencies from msr +elif [ "$family" -eq 6 ] && [ "$model" -eq 175 ]; then # SRF + cores=$(rdmsr 0x1ae) # MSR_TURBO_GROUP_CORE_CNT: Group Size of Active Cores for Turbo Mode Operation + # if pstate driver is intel_pstate use 0x774 else use 0x199 + driver=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver) + if [ "$driver" = "intel_pstate" ]; then + sse=$(rdmsr 0x774 -f 15:8) # IA32_HWP_REQUEST + else + sse=$(rdmsr 0x199 -f 15:8) # IA32_PERF_CTL + fi + avx2=0 + avx512=0 + avx512h=0 + amx=0 +else # not SRF or GNR cores=$(rdmsr 0x1ae) # MSR_TURBO_GROUP_CORE_CNT: Group Size of Active Cores for Turbo Mode Operation sse=$(rdmsr 0x1ad) # MSR_TURBO_RATIO_LIMIT: Maximum Ratio Limit of Turbo Mode avx2=0