Skip to main content

Uplift Power Play

Project description

UPP

UPP: Uplift Power Play

A tool for parsing, dumping and modifying data in Radeon PowerPlay tables

Introduction

UPP is able to parse and modify binary data structures of PowerPlay tables commonly found on certain AMD Radeon GPUs. Drivers on recent AMD GPUs allow PowerPlay tables to be dynamically modified on runtime, which may be known as "soft-PowerPlay" in coin-mining community. On Linux, the PP table is by default found at: /sys/class/drm/card0/device/pp_table.

Requirements

Python 2.7 or 3.6+, codecs, collections, struct, click. Should work on Windows as well, but modified table needs to be uploaded to registry instead of sysfs file.

Usage

At its current form this is a CLI only tool. Getting help:

Usage: upp [OPTIONS] COMMAND [ARGS]...

  UPP: Uplift Power Play

  A tool for parsing, dumping and modifying data in Radeon PowerPlay tables.

  UPP is able to parse and modify binary data structures of PowerPlay tables
  commonly found on certain AMD Radeon GPUs. Drivers on recent AMD GPUs
  allow PowerPlay tables to be dynamically modified on runtime, which may be
  known as "soft PowerPlay tables". On Linux, the PowerPlay table is by
  default found at:

     /sys/class/drm/card0/device/pp_table

  This tool currently supports reading and modifying PowerPlay tables found
  on the following AMD GPU families:

    - Polaris
    - Vega
    - Radeon VII
    - Navi 10
    - Navi 14

  Note: iGPUs found in many recent AMD APUs are using completely different
  PowerPlay control methods, this tool does not support them.

  If you have bugs to report or features to request please check:

    github.com/sibradzic/upp

Options:
  -i, --pp-file <filename>  Input/output PP table binary file
  -d, --debug / --no-debug  Debug mode
  -h, --help                Show this message and exit.

Commands:
  dump     Dumps all PowerPlay parameters to console
  extract  Extract PowerPlay table from Video BIOS ROM image
  get      Get current value of a PowerPlay parameter
  set      Set value(s) to PowerPlay parameter(s)

Dumping all data:

Usage: upp dump [OPTIONS]

  Dump all PowerPlay data to console

  De-serializes PowerPlay binary data into a Python dictionary.

  In standard mode all data will be dumped to console, where data hierarchy
  is indicated by indentation.

  In raw mode a table showing all hex and binary data, as well as variable
  names and values, will be dumped.

Options:
  -r, --raw / --no-raw  Show raw binary data
  -h, --help            Show this message and exit.

Extracting PowerPlay table from Video ROM image:

Usage: upp extract [OPTIONS]

  Extracts PowerPlay data from full VBIOS ROM image

  Default output file name will be an original ROM file name with an
  additional .pp_table extension.

Options:
  -r, --video-rom <filename>  Input Video ROM binary image file   [required]
  -h, --help                  Show this message and exit.

Getting parameter:

Usage: upp get [OPTIONS] VARIABLE_PATH

  Retrieves current value of a particular PP parameter

  The parameter variable path must be specified in "/<param> notation", for
  example:

      /FanTable/TargetTemperature
      /VddgfxLookupTable/7/Vdd

  The raw value of the parameter will be retrieved, decoded and displayed on
  console.

Options:
  -h, --help  Show this message and exit.

Setting parameters:

Usage: upp set [OPTIONS] VARIABLE_PATH_SET...

  Sets values to one or multiple PP parameters

  The parameter path and value must be specified in "/<param>=<value>
  notation", for example:

      /PowerTuneTable/TDP=75 /SclkDependencyTable/7/Sclk=107000

  Multiple PP parameters can be set at the same time. The PP tables will not
  be changed unless additional --write option is set.

Options:
  -w, --write  Write changes to PP binary
  -h, --help   Show this message and exit.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

upp-0.0.3.tar.gz (48.4 kB view details)

Uploaded Source

Built Distribution

upp-0.0.3-py3-none-any.whl (63.6 kB view details)

Uploaded Python 3

File details

Details for the file upp-0.0.3.tar.gz.

File metadata

  • Download URL: upp-0.0.3.tar.gz
  • Upload date:
  • Size: 48.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.21.0 setuptools/46.0.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.7.5

File hashes

Hashes for upp-0.0.3.tar.gz
Algorithm Hash digest
SHA256 d177fd8611fcb53a67c2123f38d1b25a18e4d35e59f655b1c871c43a9890ff25
MD5 bbc66b8047f0916b8499cb0beeba8d3c
BLAKE2b-256 67fa5504b301a26552597991f312cb81fd044af945eb6edf4fb38cad633fff4a

See more details on using hashes here.

Provenance

File details

Details for the file upp-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: upp-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 63.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.21.0 setuptools/46.0.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.7.5

File hashes

Hashes for upp-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8da293e4a5ba73c4650ae6ed55dde5f7880922a155eafdb98285c2705991ffb3
MD5 059809c2fffd6e4f205a481040dfead3
BLAKE2b-256 f84c04f5228c31bcad2e8a3e246013c31bed32050f5bb6097bd8033d20e08323

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page