Announcement

Collapse
No announcement yet.

Overclock Vega / AMDGPU

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Overclock Vega / AMDGPU

    Heya all,

    I've been playing with my new vega card (it's a sapphire vega 56 ref card with vega 64 bios flashed) and I tried to overclock it by setting the values for clock speed and memory like so:
    Code:
    sudo echo "5" > /sys/class/drm/card0/device/pp_mclk_od
    Unfortunately though, the value isn't kept. It gets set back to 0 (I verified it by editing the file with vim and it said it was modified while being edited).

    What am I missing?

    Cheers

  • #2
    Ah, thanks mate! I did read that one but missed the important line:
    It is however required to unlock access to it in sysfs by appending the boot parameter amdgpu.ppfeaturemask=0xffffffff.

    Comment


    • #3
      Nope, that didn't help. After reboot and setting of that param, I still can't make those values stick. I followed the instructions in that doc as well as what Michael has used in his overclocking tests. Something else is amiss...

      Comment


      • #4
        Mate, seriously ? I'm a linux guy only the amdgpu business is new to me. Of course I ran this as root (and used cat/tail/head to read the value).

        I didn't get an error that I have no perms as I would have had I not run it as root. Instead, there was no output (which in the unix world, as we know, (mostly) means success). Then cat showed 0 (the mclk file). The kernel parameter gets set properly too, I checked. So I write the value but it gets immediately reset/overwritten (which I confirmed by editing and saving with vim and after that vim said that the file was modified from outside).

        Comment


        • #5
          I did do that. Here is my session:

          Code:
          [random xxx]# echo "manual"> /sys/class/drm/card0/device/power_dpm_force_performance_level
          [random xxx]# cat /sys/class/drm/card0/device/power_dpm_force_performance_level
          manual
          [random xxx]# echo "c" > /sys/class/drm/card0/device/pp_od_clk_voltage
          [random xxx]# cat /sys/class/drm/card0/device/pp_od_clk_voltage
          OD_SCLK:
          0:        852Mhz        800mV
          1:        991Mhz        900mV
          2:       1084Mhz        950mV
          3:       1138Mhz       1000mV
          4:       1200Mhz       1050mV
          5:       1401Mhz       1100mV
          6:       1536Mhz       1150mV
          7:       1630Mhz       1200mV
          OD_MCLK:
          0:        167Mhz        800mV
          1:        500Mhz        800mV
          2:        800Mhz        950mV
          3:        945Mhz       1050mV
          OD_RANGE:
          SCLK:     852MHz       2400MHz
          MCLK:     167MHz       1500MHz
          VDDC:     800mV        1200mV
          [random xxx]# echo "5" > /sys/class/drm/card0/device/pp_mclk_od
          [random xxx]# cat /sys/class/drm/card0/device/pp_mclk_od
          0
          [random xxx]# whoami
          root
          Also:
          Code:
          Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Vega 10 XT [Radeon RX Vega 64] driver: amdgpu v: kernel
                     Display: x11 server: X.Org 1.20.3 driver: amdgpu,ati unloaded: modesetting resolution: 2560x1440~60Hz
                     OpenGL: renderer: Radeon RX Vega (VEGA10 DRM 3.27.0 4.19.4-1-MANJARO LLVM 7.0.0) v: 4.5 Mesa 18.2.5
          Last edited by lichtenstein; 28 November 2018, 02:10 AM. Reason: Added gpu info

          Comment


          • #6
            Originally posted by debianxfce View Post
            Allowing overclock over default range needs latest AMD wip kernel
            No it doesn't. In Michael's article he used stock ubuntu: https://www.phoronix.com/scan.php?pa...ive-Linux-4.15

            Also, the range is meant to be a percentage, so 5 would mean 5 percent which should be fine for a minor overclock. I did try that commit from your previous post:

            Code:
            [random xxx]# echo "3" > /sys/class/drm/card0/device/pp_mclk_od
            [random xxx]# echo "c"> /sys/class/drm/card0/device/pp_od_clk_voltage
            [random xxx]# cat /sys/class/drm/card0/device/pp_mclk_od
            0
            I also tried the amdcovc and OhGodATool tools, both compiled fine but they pretty much do the same thing (setting pp_mclk_od) and therefore don't work either.

            Comment


            • #7
              Originally posted by debianxfce View Post
              I am a software engineer
              So am I .

              I wanted to attempt the overclock because it seemed _simple_ enough to not waste too much time on it. Since I can't make it work on my system I figured there would be something, surely minor, that I'm missing. Hence this thread.

              I can sort out my games, no problem and yes, 1440p works well with my vega. Still, it's a new machine and I want to try out what it can do (after which I'll calm down and settle). Regarding "self-overclocking" or turbo, that's why I got the 2700x - because it goes up to the maximum automatically whenever there is enough "thermal room" (stock cooler, I'll probably get a better cooler). I'm sure my vega does the same too, (flashed with a vega 64 it should have higher turbos than the 56). And yet, I don't get the Unigine Superposition 1440p medium fps that Michael got here: https://www.phoronix.com/scan.php?pa...holidays&num=5

              I get about 60fps (and it should be above 75 imo, maybe even above 80). The difference between my setup and his is that he uses mesa 19 devel whereas mine is 18.2.something. I don't know how much a difference that makes (both kernels).

              I couldn't get galum hud to show me the gpu clock and memory frequency, how do I do that? I want to make sure the card reaches its expected turbo.

              Comment


              • #8
                Right, it boosts to about 1500 which is vega 56 level but memory goes up to 945. It's actually fine. I'll wait till mesa 19 releases and manjaro gets it. For now, I'm fine with the performance (I just don't want to leave "performance" on the table ). The stability is quite food (which is what scares me off oibaff, with that I had (on my intel machine) problems in the past).

                Comment


                • #9
                  Ah, the shader-clock is the one, thanks!

                  Comment


                  • #10
                    There are two independent interfaces for overclocking, use one or the other, not both. The pp_mclk_od/pp_sclk_od is an older, deprecated interface that allows you to overclock only (no underclocking) based on a percentage. The newer pp_od_clk_voltage interface gives you fine grained control of both clocks and voltage of every power state and allows for both under and overclocking. See the documentation here:

                    Comment

                    Working...
                    X