Bitcoin Forum

Alternate cryptocurrencies => Mining (Altcoins) => Topic started by: LinuxMiner on June 20, 2017, 11:26:15 PM



Title: AMDTweak Announcement
Post by: LinuxMiner on June 20, 2017, 11:26:15 PM
I would like to announce a new project for tweaking AMDGPUs on Linux. It's an open-source solution for people that would like to write their own scripts. It uses node.js and has a library part and script part.

https://github.com/kobalicek/amdtweak (https://github.com/kobalicek/amdtweak)

It's unfinished project and I just released it as a preview. I would like to get some feedback before I start adding more features. I designed it as a library, but I would like to provide more scripts and problem solutions in the future.


Title: Re: AMDTweak Announcement
Post by: mineromineroso on June 20, 2017, 11:41:50 PM
Good one! mmmmm you know if it's possible to write directly via i2c to the VRM controller in order to edit the vddc offset like wattool?


Title: Re: AMDTweak Announcement
Post by: LinuxMiner on June 21, 2017, 12:01:13 AM
If you mean if it's possible to change  the `VDDCOffset` in SCLKDependencyTable then yeah it is, the question is if the AMDGPU driver would honor it, I think it won't.

Code:
$ ./amdtweak --card 1 --read-card-pp --print

Card '1': {
  ... (omitted) ...
  "SCLKDependencyTable": {
    "RevisionID": 1,
    "NumEntries": 8,
    "Entries": [
      {
        "VDDC": 0,
        "VDDCOffset": 0,
        "SCLK": 30000,
        "EDCCurrent": 0,
        "ReliabilityTemperature": 0,
        "CKSOffsetAndDisable": 128,
        "SCLKOffset": 0
      },
      ... (omitted) ...
    ]
    ... (omitted) ...
  }
  ... (omitted) ...
}

So you can overwrite it through the script easily:

Code:
./amdtweak --card 1 --read-card-pp --set SCLKDependencyTable.Entries[1].VDDCOffset=-100 --print

I would like to add a more automatic solution to do undervolting, but that would take some time to do properly. I looked at the amdgpu driver and I was not able to figure out if it's using the voltage offsets or not. It seems it has no effect, but I'm not completely sure.


Title: Re: AMDTweak Announcement
Post by: mineromineroso on June 21, 2017, 12:22:11 AM
If you mean if it's possible to change  the `VDDCOffset` in SCLKDependencyTable then yeah it is, the question is if the AMDGPU driver would honor it, I think it won't.
---
I would like to add a more automatic solution to do undervolting, but that would take some time to do properly. I looked at the amdgpu driver and I was not able to figure out if it's using the voltage offsets or not. It seems it has no effect, but I'm not completely sure.

I think that the driver itself can't do this. It is more related to edit the registers in the VRM controller (i.e IR3567B, NCP81022), that is what Wattool or VRMtool do. Can deal with voltage, but also frequency and more.

Can you access to i2c bus via driver?


Title: Re: AMDTweak Announcement
Post by: LinuxMiner on June 21, 2017, 02:27:42 AM
These are specified by ATOM_VOLTAGE_OBJECT structure in VOLTAGE_OBJECT_INFO table, so I guess the driver does initialization from VBIOS on startup and then keeps the values as initialized. It's not possible to change these via PowerPlay as it's a different table, but it would be possible to add access to them via sysfs I think.

I already started working on adding interface to read GPU load, consumption, etc, so these would be just additions to it. What I don't like on this is that the amdgpu driver crashes when I try to unload it, so when I compile a new version I have to reboot the machine, which is kinda annoying.

I would check accessing these registers tomorrow


Title: Re: AMDTweak Announcement
Post by: Lucie2A on January 07, 2018, 06:54:14 PM
Tool has been updated.
Now it works read/write for pp_table of AMD RX 460 470 480 560 570 580.
Doesn't work for AMD RX VEGA / 56 / 64.

All the best,


Title: Re: AMDTweak Announcement
Post by: Lucie2A on January 13, 2018, 12:39:51 AM

Support for AMD RX VEGA 56/64 has been added : https://github.com/Lucie2A/amdtweak/tree/contribution (https://github.com/Lucie2A/amdtweak/tree/contribution)