What is AMDPtune?



  • Hi!

    I am confused about AMDPTune. I googled about but nearly nothing is found.
    Everyone talks about -50/+50 to tune the amd cards. Where does AMDPtune come from? any more information about it?


  • Staff

    Hey @wesrig, great question! This is part of the overclocking capabilities of AMDGPU cards.

    AMD PowerTune is a trademark for a series of dynamic frequency scaling technologies built into some AMD GPUs and APUs that allow the clock speed of the processor to be dynamically changed (to different P-states) by software. This allows the processor to meet the instantaneous performance needs of the operation being performed, while minimizing power draw, heat generation and noise. AMD PowerTune aims to solve thermal design power and performance constraints.[1]

    Besides the reduced energy consumption, AMD PowerTune helps to lower the noise levels created by the cooling in desktop computers, and extends battery life in mobile devices. AMD PowerTune is the successor to AMD PowerPlay.[2]

    For more details:
    https://en.wikipedia.org/wiki/AMD_PowerTune



  • so to add to this question. The default setting for AMDpowertune is 7. If i were to change this value to 6 would i be utilizing less power or more. Or am i understanding melt's answer the wrong way.



  • I'm wondering the same thing. I don't see much of a performance difference, if any, when changing the value.



  • I also would love an answer to this question. I heard someone using AMDPtune 3 - where do you set that and what are the specifics between each level? Will level 1 break things? Will level 9 hurt things? What is the relevance to mining settings and firmware mods? Can you just just AMDPtune and not mod a BIOS - that would be ideal? Why did you pick Level 7 - where was your reference for that? What does Level 7 specifically do and how is it intended to be used by users?


  • Staff

    If we look at a BIOS, we can see the power tables, with each of the power levels. Here is an example from an ASUS RX560/4G card I have in a box for testing:

    214 Mhz: 715 mV
    603 Mhz: 65282 mV
    958 Mhz: 65283 mV
    1060 Mhz: 65284 mV
    1128 Mhz: 65285 mV
    1182 Mhz: 65286 mV
    1230 Mhz: 65287 mV
    1275 Mhz: 65288 mV

    You can see these in Polaris, or dump them with atitool (both are included in PiMP). If you were to use Wattman under Windows, you could get a bunch more data, as well configure a bunch more things here (sorry, AMD has not ported Wattman to Linux yet). Wattman also shows you the relationship from powertune value and these timings. Here is a snapshot from Wattman:

    0_1517397871741_1340e1f5-7251-45e1-bda2-0474f18bc934-image.png

    Powertune will bounce through this table if the thermal protection is triggered, this makes sure you can run hot and fast, without burning up. Using a low value, will hold the upper limit down and keep things cooler, using less power. If you just use 7, it will use all 8 entries (count starts with 0).

    It is of course far more complex. As the BIOS has a large table of tweener values that the card maker fills in. But the idea of Powertune is to take all that away from you the user, and give you a way to demand more power with more steps of resolution then previously when GPUs just had 'low, medium, fast, and turbo' modes. The less steps in the table, the more painful to overall processing a thermal event is. IE, you drop from turbo to fast to medium to low until the card cools down enough to kick up again. With powertune, you can bounce around through 8 timing sets (if you set it to 7).

    You will also see folks refer to a % for powertune. Like 20% + or -, which is about the range for a value that you might be able to get away with a change. If the silicon was perfect, you could probably get away with 50%. But typically, 20% is about it. This is also what folks refer to as the silicon lottery with GPUs. This is also why every rig should be clocked out, tested and evaluated to be sure its running as hot as possible without damaging things. You can destroy a GPU by creating timing tables it simply cannot survive cycling through. Remember, it cycles in response to temp.. so if you do not give it a way to get slow enough to cool off, its gonna die.

    These are also what you tweak and change when you modify your bios. You can adjust each slot in the table (straps) to control how the drivers respond to demand against temp regulation.

    This is a rather short and sweet dialog about a complex relationship between cooling, power draw, operating frequency and processing power. Picking 7 means you can use the whole table BTW, and is normally the best move :)

    I use 'atitool' to dump the ROM information quickly btw, its in /opt/pimp/go/bin/atitool. Here is the stock ROM for this ASUS RX560/4G, followed by a comparison to the tuned ROM I am running on it.


    Powerplay
    Max GPU freq (Mhz): 1800
    Max memory freq (Mhz): 2000
    Power control limit (%%): 75

    Powertune
    TDP (W): 48
    TDC (A): 50
    Max Power Limit (W): 48
    Max Temp. (C): 90
    Shutdown Temp. (C): 94
    Hotspot Temp. (C): 105

    Fan
    Temp. Hysteresis: 3
    Min Temp. (C): 40
    Med Temp. (C): 65
    High Temp. (C): 85
    Max Temp. (C): 109
    Legacy or Fuzzy Fan Mode: 1
    Min PWM (%): 20
    Med PWM (%): 40
    High PWM (%): 60
    Max PWM (%): 1
    Max RPM: 2100
    Sensitivity: 4836
    Acoustic Limit (MHz): 800

    GPU
    214 Mhz: 715 mV
    387 Mhz: 65282 mV
    843 Mhz: 65283 mV
    995 Mhz: 65284 mV
    1062 Mhz: 65285 mV
    1108 Mhz: 65286 mV
    1149 Mhz: 65287 mV
    1187 Mhz: 65288 mV

    VRAM
    Part num: MT51J256M3
    VendorID: Micron
    Size (MB): 4096
    Density: 4M x 32
    Type: GDDR5


    And here is the what I am running with. Improvement in my case for XMR mining was 260H/s to about 308H/s.

    Powerplay
    Max GPU freq (Mhz): 1800
    Max memory freq (Mhz): 2000
    Power control limit (%%): 75

    Powertune
    TDP (W): 60
    TDC (A): 60
    Max Power Limit (W): 60
    Max Temp. (C): 90
    Shutdown Temp. (C): 94
    Hotspot Temp. (C): 105

    Fan
    Temp. Hysteresis: 3
    Min Temp. (C): 40
    Med Temp. (C): 65
    High Temp. (C): 85
    Max Temp. (C): 109
    Legacy or Fuzzy Fan Mode: 1
    Min PWM (%): 20
    Med PWM (%): 40
    High PWM (%): 60
    Max PWM (%): 1
    Max RPM: 2400
    Sensitivity: 4836
    Acoustic Limit (MHz): 1045

    GPU
    214 Mhz: 715 mV
    603 Mhz: 65282 mV
    958 Mhz: 65283 mV
    1060 Mhz: 65284 mV
    1128 Mhz: 65285 mV
    1182 Mhz: 65286 mV
    1230 Mhz: 65287 mV
    1275 Mhz: 65288 mV

    VRAM
    Part num: MT51J256M3
    VendorID: Micron
    Size (MB): 4096
    Density: 4M x 32
    Type: GDDR5


    Changes made using Polaris, and I simply searched for various versions of my card in the techpowerup collection to get settings and values. I then used atitool to examine the BIOS dumps from atiflash.

    https://www.techpowerup.com/vgabios/

    Hopefully this helps!



  • This does help a lot. Thank you.

    I see - you sampled the Techpowerup.com library to see what others did to get performance. How do you know you didn't go outside of safe limits that would burn the GPU?


  • Staff

    I move in little steps.. modify, test/validate, record results... repeat. What the scientific method is all about. Test test test, chat, read, learn.



  • Anjin, I am the same on that point - incremental iterations to find the happy medium. Thanks.


 



Want 10% more hash from your rigs?



We promise to keep your email safe and never spam you.



Copyright (c) 2017 PiMP LLC. All rights Reserved.

Looks like your connection to PiMP Forum was lost, please wait while we try to reconnect.