awyl / Build-PowerMonkey

Scripts to build PowerMonkey for undervolting
35 stars 9 forks source link

Update example configuration #5

Closed bedrin closed 2 years ago

bedrin commented 2 years ago

Looks like example is outdated due to new version of PowerMonkey. I've added another example - I'm using it on my i9750H cpu with PowerMonkey 0.2.1

ghost commented 2 years ago

Hi,

I'm newbie, I want to use wsl2 on windows 11 so that I found this project. It is awesome but I can not find detail of guide.

At throttlestop I config: CPU Core: -160mV CPU Cache: -80mV Turbo Ratio. Please see pic: https://imgur.com/a/8nTnV3C

How can I config:

Turbo ratio per core? I don't know how to input ratio per core. // // Enable this to program "max ratio" for all turbo core counts // (e.g. 1C, 2C, 4C, 8C, = use this ratio). Remove or set to 0 // if you do not wish to set it

pk->ForcedRatioForPCoreCounts = 51; // Pre ADL-S/H/P: All cores // ADL_S/H/P and newer: P-Cores // 0 = "do not change - leave as=is"

At PL1, PL2, Timing I converted from mW to W, ms to s. Is it right? I scare CPU will be burnt if I config wrong. // Configurable TDP (cTDP)

pk->MaxCTDPLevel = 0; // 0 = disables cTDP pk->TdpControLock = 1; // Locks TDP config

// // Package PL1/PL2 (MSR)

pk->EnableMsrPkgPL1 = 1; // Enable PL1 pk->EnableMsrPkgPL2 = 1; // Enable PL2 pk->MsrPkgPL1_Power = 40000; // PL1 in mW or MAX_POWAH pk->MsrPkgPL2_Power = 60000; // PL2 in mW or MAX_POWAH pk->MsrPkgPL_Time = 28000; // Tau in ms or MAX_POWAH pk->ClampMsrPkgPL = 1; // Allow clamping pk->LockMsrPkgPL12 = 1; // Lock after programming

// // Package PL1/PL2 (MMIO)

pk->EnableMmioPkgPL1 = 1; // Enable MMIO PL1 pk->EnableMmioPkgPL2 = 1; // Enable MMIO PL2 pk->MmioPkgPL1_Power = 40000; // MMIO PL1 in mW or MAX_POWAH pk->MmioPkgPL2_Power = 60000; // MMIO PL2 in mW or MAX_POWAH pk->MmioPkgPL_Time = 28000; // Tau in ms or MAX_POWAH pk->ClampMmioPkgPL = 1; // Allow clamping pk->LockMmioPkgPL12 = 1; // Lock after programming

// // Platform (PSys) PL1/PL2

pk->EnablePlatformPL1 = 1; // Enable PSys PL1 pk->EnablePlatformPL2 = 1; // Enable PSys PL2 pk->PlatformPL1_Power = MAX_POWAH; // PSys PL1 in mW or MAX_POWAH pk->PlatformPL_Time = MAX_POWAH; // RAW VALUE 0-127 (or MAX_POWAH) pk->PlatformPL2_Power = MAX_POWAH; // PSys PL2 in mW or MAX_POWAH pk->ClampPlatformPL = 1; // Allow clamping pk->LockPlatformPL = 1; // Lock after programming

//

Please help me~

awyl commented 2 years ago

Please refer to my example to setup core and cache undervolt.

Core https://github.com/awyl/Build-PowerMonkey/blob/604fa9fadbc68e5a2bf87308273cc2061385a92e/examples/core132cache132.c#L148

Cache https://github.com/awyl/Build-PowerMonkey/blob/604fa9fadbc68e5a2bf87308273cc2061385a92e/examples/core132cache132.c#L169

I personally do not care about setting power limit here with PowerMonkey, as I believe it still works in ThrottleStop. So I did not figure out the configuration here. Perhaps you can try asking PowerMonkey authors.

And please refrain from posting in other people's thread. Thank you!

NurjanovUlugbek commented 1 year ago

Hello Could you tell me please? What I use pk->Domain[IACORE].OffsetVolts = ? pk->Domain[RING].OffsetVolts = ?

or pk->planes[IACORE].OffsetVolts ? pk->planes[RING].OffsetVolts ?

awyl commented 1 year ago

Sorry, I could not tell you. Every cpu is different. Turn off hypervisor and test the values in ThrottleStop.