Bitcoin Forum
May 06, 2024, 06:28:17 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: AMDTweak Announcement  (Read 715 times)
LinuxMiner (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
June 20, 2017, 11:26:15 PM
 #1

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

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.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714976897
Hero Member
*
Offline Offline

Posts: 1714976897

View Profile Personal Message (Offline)

Ignore
1714976897
Reply with quote  #2

1714976897
Report to moderator
1714976897
Hero Member
*
Offline Offline

Posts: 1714976897

View Profile Personal Message (Offline)

Ignore
1714976897
Reply with quote  #2

1714976897
Report to moderator
mineromineroso
Newbie
*
Offline Offline

Activity: 33
Merit: 0


View Profile
June 20, 2017, 11:41:50 PM
 #2

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?
LinuxMiner (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
June 21, 2017, 12:01:13 AM
 #3

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.
mineromineroso
Newbie
*
Offline Offline

Activity: 33
Merit: 0


View Profile
June 21, 2017, 12:22:11 AM
 #4

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?
LinuxMiner (OP)
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
June 21, 2017, 02:27:42 AM
 #5

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
Lucie2A
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
January 07, 2018, 06:54:14 PM
 #6

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,
Lucie2A
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
January 13, 2018, 12:39:51 AM
 #7


Support for AMD RX VEGA 56/64 has been added : https://github.com/Lucie2A/amdtweak/tree/contribution
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!