Is it preferable to disable APM, or to enable Load Line Calibration for overclock stability?

20,889

TL;WR

  • APM doesn't impact stability, at least for my setup
  • LLC, however, does - in fact, in my case, it is absolutely required in order to have a stable, error-free overclock. (also, interestingly, it almost always allows you not to configure any offset voltage at all).
  • APM has a toll on performance. However, it's generally better to leave it enabled, because that way you can configure a higher clock speed which will result in a higher overall system performance, specially for lightly threaded workloads. It also saves power.

    This is how it does it:

    animated automatic downclock commanded by APM

    (capture taken during the Prime95 small FFTs test with 6 worker threads) (24K FFT size)


Elaboration

Still according to Ron's Tech Tips:

All disabling APM does really is cause your CPU to run outside the 125w TDP range. In essence, your drawing more power and voltage, and creating more heat for very little benefit. (...)

and

The only time and situations I would recommend Disabling APM(Application Power Management) (...) is if you have:

  1. A very good preferably high end liquid cooling solution for your CPU for planned high overclocks in the 4.9 to 5GHz range that would go over the TDP limit anyways.
    (...)

Nothing here indicates that APM has any impact on system stability, although the previous quote (from the question) appears to indicate so ("there are times where it will slightly lower voltage while keeping the CPU at a higher clock rate").

So I tested this myself for the following scenarios:

  • 4800 MHz @ 0.09375v offset; LLC [Ultra High]; APM [Enabled]
  • ditto, APM [Disabled]

And observed that:

  1. APM has no impact on system stability whatsoever
  2. CPU performance increased by 3.27% reaching 9132 points in the Passmark Performance Test. This is a higher score than the FX-8370: passmark cpu performance results Most notably:
    • Floating Point performance increased by 8.14%
    • SSE performance increased by 8.93% (SSE is implemented in terms of FP)
    • Prime computations are also 10% faster
    • Integer performance unchanged

However, as no good deed goes unpunished, this comes at a high cost: 73ºC reached in 15-20 minutes of full load with Prime95. That's almost 16% more heat, and 3ºC above the CPU thermal margin. Obviously unmaintainable with air cooling.

I then tested these scenarios:

  • 4700 MHz @ stock voltage (no offset); LLC [Ultra High]; APM [Enabled]
  • 4500 MHz @ same (no voltage offset and LLC Ultra), with APM [Disabled]

The results are:

  1. Both are equally very stable
  2. Voltage remains fixed at 1.44v for 4500 MHz, and averages about 1.428v for 4700 MHz with APM
  3. Power consumption is ~266.6 VA for 4500 MHz, and ~239.9 for 4700 MHz+APM under full load (measured with a clamp meter; actual consumption in watts will be a bit lower)
  4. Power during idle is 62.1 VA and 64.7 VA, respectively
  5. Maximum temperature was 65ºC (socket), 61.1ºC (Tcl), and 75ºC (VRM) for 4500 MHZ; 57ºC (socket), 52.1ºC (Tcl), 68ºC (VRM) for 4700 MHz+APM.
  6. Compiling large projects with MinGW on Windows 10 64bits and on Arch Linux was about 3.8% faster with the 4700MHz setup
  7. Compiling with Visual Studio on W10 and converting a 2min 1080p video with Handbrake were 1.5% faster at 4700MHz
  8. Passmark 2D graphics performance was 2.78% faster at 4700 MHz
  9. The Unigine Heaven benchmark with the "Basic" preset was ~3.5% faster on average, and min. FPS was 6.84% faster, at 4700 MHz
  10. I was somewhat surprised that transcoding with Handbrake was also faster at 4700 MHz with APM enabled despite the Floating Point performance being lower for this configuration, since encoding is an FP-intensive task. The most likely explanation is that the duration of the test was too short (6min16s) to cause the CPU to throttle noticeably. So I tried converting the same video twice, in a "queue", for a total test duration of 13m03s. Switching to 4500 MHz without APM, this went down to 12m44seg which is 2.49% faster.

    And this was the only "real world" scenario I managed to reproduce where the lower-clock, APM disabled configuration was indeed faster.
    Now, the fact that this comes with 10%+ more power (and higher thermals) makes it less than ideal for all but the most specialized, FP-intensive applications.

Share:
20,889

Related videos on Youtube

Marc.2377
Author by

Marc.2377

Marc ".2377" Ranolfi - Cross-platform developer and open source hacker; aspiring engineer. Contributor to codidact.org, currently on a hiatus. (Also on Discord.)

Updated on September 18, 2022

Comments

  • Marc.2377
    Marc.2377 over 1 year

    AMD FX Series processors paired with the 9 Series chipset, the motherboard exposes an option to disable APM (Application Power Management). Most overclocking guides suggest disabling APM for better stability, at least initially. Among these is the official AMD FX Performance Tuning Guide, pages 5 and 10. Page 5 states:

    Since APM sets a predefined TDP limit it is usually recommended to disable both AMD Turbo Core Technology and APM features when increasing the CPU frequency and voltage above the default levels.

    Ron's Tech Tips also has this to say:

    In a nutshell, AMD Application Power Management BIOS setting ensures the CPU stays within the 125W (8 core) or 95W (4 and 6 core) TDP the chip was designed for. I have seen many say that APM causes the CPU to throttle, this is both true and false. It is true that sometimes APM causes this, but throttling is not what it always does. there are times where it will slightly lower voltage while keeping the CPU at a higher clock rate.

    All emphasis are mine.

    Additionally, most enthusiast motherboards nowadays also offer a feature called Load-Line Calibration (LLC). According to a user posting in Linus Tech Tips' forums:

    Vdroop is a drop in voltage supplied to the CPU as load increases; basically when you go from idle to load, the voltage would decrease. Given the small voltage tolerance that overclockers are working with (increased voltage is proportional to the CPU frequency/multiplier that an overclock can achieve), a droop in voltage applied to CPU can make a theoretically stable overclock unstable (dropping the voltage below that required to achieve the set frequency)

    The following is the difference between defined (X) and measured (Y) vcore values without LLC:

    LLC Regular 0 percent

    Notice how the actual vcore value is always below what we expect.

    In the next image, we can see that for that specific CPU (i7 3930K) and MoBo (Asus Rampage IV Extreme), an LLC setting of "High" (meaning a value of 50%) is enough to compensate for vdroop:

    LLC High 50 percent

    TL;DR

    What I'm wondering is whether it is preferable to disable APM, and (most probably) settle with a lower LLC level (sometimes it's not needed at all), or to keep APM enabled and having to resort to a higher LLC setting to keep everything stable. My concerns are, in that order:

    • System stability
    • Calculation integrity
    • System durability (less important)
    • Thermal output and power consumption (even less important)

    /TL;DR

    (Additional info)
    The reason for asking this is because a higher LLC setting introduces short voltage spikes to the CPU core, as already noted in this question: < Is it better to use an offset or manually set CPU voltage (with respect to CPU longevitity)? >, as well as in this Master's Lair post. Quoting:

    If you have a decent motherboard, load-line calibration really doesn't buy you anything in terms of a higher overclock (...). It only artificially lowers the vcore that you'll have to set in your BIOS, but the CPU will still require the same amount of voltage when it's put under a load.

    I'd recommend leaving [LLC] disabled unless you think that you're having a hard time achieving the overclock that you wanted and suspect excessive vdroop to be the problem.

    On the one hand, I suspect APM does more than "just" enforcing an overall TDP ceiling and thus should rather be kept enabled if possible, despite suggestions to the contrary. But on the other, it also appears APM would introduce instability and thus require a higher LLC setting, which would itself be probably worse.

    For completeness:

    - CPU: FX-6350 @ 4.8 GHz (default is 3.9)
    - Motherboard: Asus Sabertooth 990FX R2.0
    - Turbo Core: Off
    - CPU Offset Voltage: +0.09375v
    - APM Master Mode: On
    - C1E, C6 State, Cool'n'Quiet: All enabled (On)
    - CPU Load Line Calibration: Ultra High (75%)
    - CPU Power Phase Control: Standard
    - CPU Power Duty Control: C.Probe (Current)
    - Spread Spectrum is Off for CPU, CPU-NB and VRM.
    

    Notes:

    • I was previously running with LLC High (50%) for this clock speed, but got calculation error in Prime95 after 4h30min of testing, even with 100mv (+0.1) vcore offset.

    • Then I lowered the offset by 6.25mv and changed LLC to Ultra High, errors are gone.

    • This however pushed the load voltage up by 20mv in average - and 12mv spike (resulting in 1.488v) during certain load transitions, which is a little higher than ideal.

    • CPU Temperature was 63ºC maximum, after many hours of number crunching during the day. This is an air-cooled system (respectable cooler though, the Hyper 212X), worked well for 2 years with a -85mv offset (undervolt)

    • I'd like it to keep working for at least one more year.

    • Seth
      Seth almost 7 years
      If you just want to keep it working for one more year it probably doesn't matter. As for APM it might also influence the behavior of stand by etc. but the primary action in regards to the CPU is indeed that TDP target "manipulation". If you don't have that you're potentially running your CPU always at a slightly higher than necessary power state (especially during idle).
    • Marc.2377
      Marc.2377 almost 7 years
      @Seth Yeah... If that's the case, and if APM doesn't hinder performance under load, it's better to leave it enabled, all things being equal... right? Thanks for your input.