matszpk / amdcovc

Utility to overclock AMD Radeon GPU's in console mode (linux)
GNU General Public License v2.0
192 stars 33 forks source link

[Feature Requesst] It is possible to add pci domain numbers? #25

Closed k0ste closed 6 years ago

k0ste commented 6 years ago

Look at PCI:

# lspci -D | grep VGA | grep AMD
0000:01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (rev 81)                 
0000:03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]               
0000:04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (rev 81)                 
0000:05:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]               
0000:06:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (rev 81)                 
0000:07:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]               
0000:08:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao PRO [Radeon R7 370 / R9 270/370 OEM] (rev 81)                 
0000:09:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]            

And amdcovc brief:

Adapter 0: Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
  Core: 1150 MHz, Mem: 1600 MHz, Vddc: 1.206 V, Load: 99%, Temp: 66 C, Fan: 100%
  Max Ranges: Core: 150 - 1400 MHz, Mem: 75 - 1625 MHz, Vddc: 0.875 - 1.206 V
  PerfLevels: Core: 300 - 1150 MHz, Mem: 150 - 1600 MHz, Vddc: 0.875 - 1.206 V
Adapter 1: Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
  Core: 1150 MHz, Mem: 1600 MHz, Vddc: 1.206 V, Load: 99%, Temp: 63 C, Fan: 100%
  Max Ranges: Core: 150 - 1400 MHz, Mem: 75 - 1625 MHz, Vddc: 0.875 - 1.206 V
  PerfLevels: Core: 300 - 1150 MHz, Mem: 150 - 1600 MHz, Vddc: 0.875 - 1.206 V
Adapter 2: Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
  Core: 1150 MHz, Mem: 1600 MHz, Vddc: 1.206 V, Load: 99%, Temp: 70 C, Fan: 100%
  Max Ranges: Core: 150 - 1400 MHz, Mem: 75 - 1625 MHz, Vddc: 0.875 - 1.206 V
  PerfLevels: Core: 300 - 1150 MHz, Mem: 150 - 1600 MHz, Vddc: 0.875 - 1.206 V
Adapter 3: Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
  Core: 1050 MHz, Mem: 1400 MHz, Vddc: 1.206 V, Load: 99%, Temp: 50 C, Fan: 100%
  Max Ranges: Core: 150 - 1400 MHz, Mem: 75 - 1625 MHz, Vddc: 0.875 - 1.206 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1400 MHz, Vddc: 0.875 - 1.206 V
Adapter 4: Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
  Core: 1050 MHz, Mem: 1500 MHz, Vddc: 1.188 V, Load: 99%, Temp: 53 C, Fan: 100%
  Max Ranges: Core: 150 - 1125 MHz, Mem: 75 - 1875 MHz, Vddc: 0.875 - 1.188 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1500 MHz, Vddc: 0.875 - 1.188 V
Adapter 5: Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
  Core: 1050 MHz, Mem: 1500 MHz, Vddc: 1.188 V, Load: 99%, Temp: 52 C, Fan: 100%
  Max Ranges: Core: 150 - 1125 MHz, Mem: 75 - 1875 MHz, Vddc: 0.875 - 1.188 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1500 MHz, Vddc: 0.875 - 1.188 V
Adapter 6: Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
  Core: 1050 MHz, Mem: 1500 MHz, Vddc: 1.188 V, Load: 99%, Temp: 51 C, Fan: 100%
  Max Ranges: Core: 150 - 1125 MHz, Mem: 75 - 1875 MHz, Vddc: 0.875 - 1.188 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1500 MHz, Vddc: 0.875 - 1.188 V
Adapter 7: Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
  Core: 1050 MHz, Mem: 1500 MHz, Vddc: 1.163 V, Load: 99%, Temp: 55 C, Fan: 100%
  Max Ranges: Core: 150 - 1125 MHz, Mem: 75 - 1875 MHz, Vddc: 0.875 - 1.188 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1500 MHz, Vddc: 0.875 - 1.163 V

It is possible to add PCI bus address (lspci -D) to amdcovc output (may be verbose only)? If one of 8 or 12... or 16 cards will start glitches is not easy to debug where this card on motherboard.

And also will be useful: Subsystem info. Here we can found device vendor (human readable).

# lspci -v | grep Subsystem | grep Radeon | grep -v Audio      
        Subsystem: PC Partner Limited / Sapphire Technology Trinidad PRO [Radeon R9 370 OEM]
        Subsystem: XFX Pine Group Inc. Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
        Subsystem: PC Partner Limited / Sapphire Technology Trinidad PRO [Radeon R9 370 OEM]
        Subsystem: XFX Pine Group Inc. Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
        Subsystem: PC Partner Limited / Sapphire Technology Trinidad PRO [Radeon R9 370 OEM]
        Subsystem: XFX Pine Group Inc. Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
        Subsystem: PC Partner Limited / Sapphire Technology Trinidad PRO [Radeon R9 370 OEM]
        Subsystem: XFX Pine Group Inc. Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]

Thank you.

matszpk commented 6 years ago

In your case changed numbers in lspci -D dump are the PCI bus numbers (format DOMAIN:BUS:DEVICE:FUNC). However, it is possible to add the PCI domain to device topology info. The AMDCOVC prints the device topology in verbose mode: command amdcovc -v:

Adapter 2: Ellesmere [Radeon RX 470/480/570/580]
  Device Topology: 9:0:0
  Vendor ID: 4098 (0x1002)
  Device ID: 26591 (0x67df)

Currently, an AMDCOVC operates on PCI bus, device and function numbers.

k0ste commented 6 years ago

Yes, you are right. Just another idea is allow to print brief output sorted to respect pci topology, amdcovc -p (--pci):

Bus: 01:00.0 Adapter 4: Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
  Core: 1050 MHz, Mem: 1500 MHz, Vddc: 1.188 V, Load: 99%, Temp: 53 C, Fan: 100%
  Max Ranges: Core: 150 - 1125 MHz, Mem: 75 - 1875 MHz, Vddc: 0.875 - 1.188 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1500 MHz, Vddc: 0.875 - 1.188 V
Bus: 03:00.0 Adapter 0: Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
  Core: 1150 MHz, Mem: 1600 MHz, Vddc: 1.206 V, Load: 99%, Temp: 66 C, Fan: 100%
  Max Ranges: Core: 150 - 1400 MHz, Mem: 75 - 1625 MHz, Vddc: 0.875 - 1.206 V
  PerfLevels: Core: 300 - 1150 MHz, Mem: 150 - 1600 MHz, Vddc: 0.875 - 1.206 V
Bus: 04:00.0 Adapter 5: Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
  Core: 1050 MHz, Mem: 1500 MHz, Vddc: 1.188 V, Load: 99%, Temp: 52 C, Fan: 100%
  Max Ranges: Core: 150 - 1125 MHz, Mem: 75 - 1875 MHz, Vddc: 0.875 - 1.188 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1500 MHz, Vddc: 0.875 - 1.188 V
Bus: 05:00.0 Adapter 1: Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
  Core: 1150 MHz, Mem: 1600 MHz, Vddc: 1.206 V, Load: 99%, Temp: 63 C, Fan: 100%
  Max Ranges: Core: 150 - 1400 MHz, Mem: 75 - 1625 MHz, Vddc: 0.875 - 1.206 V
  PerfLevels: Core: 300 - 1150 MHz, Mem: 150 - 1600 MHz, Vddc: 0.875 - 1.206 V
Bus: 06:00.0 Adapter 6: Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
  Core: 1050 MHz, Mem: 1500 MHz, Vddc: 1.188 V, Load: 99%, Temp: 51 C, Fan: 100%
  Max Ranges: Core: 150 - 1125 MHz, Mem: 75 - 1875 MHz, Vddc: 0.875 - 1.188 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1500 MHz, Vddc: 0.875 - 1.188 V
Bus: 07:00.0 Adapter 2: Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
  Core: 1150 MHz, Mem: 1600 MHz, Vddc: 1.206 V, Load: 99%, Temp: 70 C, Fan: 100%
  Max Ranges: Core: 150 - 1400 MHz, Mem: 75 - 1625 MHz, Vddc: 0.875 - 1.206 V
  PerfLevels: Core: 300 - 1150 MHz, Mem: 150 - 1600 MHz, Vddc: 0.875 - 1.206 V
Bus: 08:00.0 Adapter 7: Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
  Core: 1050 MHz, Mem: 1500 MHz, Vddc: 1.163 V, Load: 99%, Temp: 55 C, Fan: 100%
  Max Ranges: Core: 150 - 1125 MHz, Mem: 75 - 1875 MHz, Vddc: 0.875 - 1.188 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1500 MHz, Vddc: 0.875 - 1.163 V
Bus: 09:00.0 Adapter 3: Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
  Core: 1050 MHz, Mem: 1400 MHz, Vddc: 1.206 V, Load: 99%, Temp: 50 C, Fan: 100%
  Max Ranges: Core: 150 - 1400 MHz, Mem: 75 - 1625 MHz, Vddc: 0.875 - 1.206 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1400 MHz, Vddc: 0.875 - 1.206 V
matszpk commented 6 years ago

Thank you for new concepts. Maybe, some your concepts will be implemented soon.

matszpk commented 6 years ago

The PCI device topology has been to normal view mode (same amdcovc).

k0ste commented 6 years ago

Looks good.

Adapter 0: PCI 2:0:0: Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
  Core: 300 MHz, Mem: 150 MHz, Vddc: 0.875 V, Load: 0%, Temp: 27 C, Fan: 100%
  Max Ranges: Core: 150 - 1400 MHz, Mem: 75 - 1625 MHz, Vddc: 0.875 - 1.206 V
  PerfLevels: Core: 300 - 1150 MHz, Mem: 150 - 1600 MHz, Vddc: 0.875 - 1.206 V
Adapter 1: PCI 6:0:0: Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
  Core: 300 MHz, Mem: 150 MHz, Vddc: 0.875 V, Load: 0%, Temp: 25 C, Fan: 100%
  Max Ranges: Core: 150 - 1400 MHz, Mem: 75 - 1625 MHz, Vddc: 0.875 - 1.206 V
  PerfLevels: Core: 300 - 1150 MHz, Mem: 150 - 1600 MHz, Vddc: 0.875 - 1.206 V
Adapter 2: PCI 9:0:0: Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X]
  Core: 300 MHz, Mem: 150 MHz, Vddc: 0.875 V, Load: 0%, Temp: 22 C, Fan: 100%
  Max Ranges: Core: 150 - 1400 MHz, Mem: 75 - 1625 MHz, Vddc: 0.875 - 1.206 V
  PerfLevels: Core: 300 - 1150 MHz, Mem: 150 - 1600 MHz, Vddc: 0.875 - 1.206 V
Adapter 3: PCI 3:0:0: Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
  Core: 300 MHz, Mem: 150 MHz, Vddc: 0.875 V, Load: 0%, Temp: 27 C, Fan: 100%
  Max Ranges: Core: 150 - 1100 MHz, Mem: 75 - 1500 MHz, Vddc: 0.8 - 1.225 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1500 MHz, Vddc: 0.875 - 1.163 V
Adapter 4: PCI 7:0:0: Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
  Core: 300 MHz, Mem: 150 MHz, Vddc: 0.875 V, Load: 0%, Temp: 22 C, Fan: 100%
  Max Ranges: Core: 150 - 1100 MHz, Mem: 75 - 1500 MHz, Vddc: 0.8 - 1.225 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1500 MHz, Vddc: 0.875 - 1.163 V
Adapter 5: PCI 8:0:0: Curacao PRO [Radeon R7 370 / R9 270/370 OEM]
  Core: 300 MHz, Mem: 150 MHz, Vddc: 0.875 V, Load: 0%, Temp: 25 C, Fan: 100%
  Max Ranges: Core: 150 - 1100 MHz, Mem: 75 - 1500 MHz, Vddc: 0.8 - 1.225 V
  PerfLevels: Core: 300 - 1050 MHz, Mem: 150 - 1500 MHz, Vddc: 0.875 - 1.188 V

Thank you. And just for notice, I start maintain Arch Linux package aur/amdcovc and Ansible role for deploy amdcovc on linux boxes with systemd.