GPU-PAC(1)

πŸ“¦
version 3.9.0 Β· 2 versions
  • 3.9.0 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 3.6.0 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’… NAME πŸ’…

okay bestie, meet gpu-pac β€” the program that lets you program and control compatible GPUs. that's literally it, that's the whole vibe. πŸ‘‘


✨ SYNOPSIS ✨

gpu-pac [--help | --about]
gpu-pac [--execute_pac] [--no_fan] [--force_write] [--debug] [--verbose]

πŸŽ€ DESCRIPTION πŸŽ€

so here's the tea, bestie: gpu-pac gives you the capability to program and control compatible GPUs with this utility. that's the main character energy we're bringing.

here's the important part though, and don't skip this:

by default, the commands that are going to be written to a GPU don't get executed. nope. they get written into a bash file so you can look at them, vibe check them, and run them yourself. it's giving "trust but verify" fr fr.

if you're feeling bold and you have confidence, you can hit it with the --execute_pac option β€” that runs the thing and then deletes the saved bash file. gone. periodt.

now, because the GPU device files are writable only by root, sudo gets used to execute the commands in that bash file. so yeah, you will get prompted for credentials in the terminal where you ran gpu-pac. no cap. πŸ™ˆ

the --no_fan option? it yeets all the fan details out of the utility. bye fan info. πŸƒ

--force_write forces all configuration parameters to be written to the GPU, instead of the default behavior which is to only write the changes. lowkey handy, highkey powerful.

and finally, --verbose means you get informational messages displayed. the little commentary track. πŸ’¬


πŸ¦‹ OPTIONS πŸ¦‹

  • --about β€” will display details about gpu-pac. the lore. the backstory. πŸ“–
  • --execute_pac β€” will execute a bash file created with commands written to the driver files to modify the operating conditions of the selected GPU/GPUs. the default behavior is to only create the bash files for the user to execute. so this is the "actually do it" button, bestie.
  • --no_fan β€” will exclude fan information from the display, and will not include fans in writing or resetting GPU operating conditions. fan erasure, respectfully. 🌬️
  • --force_write β€” will result in all parameters being writen to the selected GPU/GPUs instead of the default behavior of only writing changes. (yes it says "writen" in the source, i'm keeping it, it's iconic πŸ’€)
  • --verbose β€” display informational messages generated during execution. the play-by-play. πŸŽ™οΈ
  • --debug β€” will output additional useful debug/troubleshooting details to a log file. for when you need to investigate. πŸ”
  • -h, --help β€” display help text and exit. the classic escape hatch. πŸšͺ

🌈 EXAMPLES 🌈

gpu-pac

this opens up a Gtk based user interface which displays the current or default values for modifiable GPU operating parameters. the interface supports entry of new values for all compatible GPUs. you can select to save or reset values for individual GPUs or for all of them, your choice, slay.

it is suggested that gpu-mon be used to make sure the changes are made as expected. always verify your work bestie, i'm begging. 🫢

gpu-pac --execute_pac

to simplify this whole process, the --execute_pac option can be specified to automate execution of the bash files. a message in the user interface will indicate if credentials are required in the original terminal window β€” so keep an eye on that original terminal, she's talking to you. πŸ‘€

gpu-pac --force_write

with this option, all parameters will be written to the bash file, even if they are unchanged. this is useful in creating bash files used to put GPU's into a known state, which is convenient for use in start up routines. snapshot behavior. chef's kiss. πŸ‘©β€πŸ³πŸ’‹


🧚 CONFIGURATION 🧚

in order to get maximum capability of these utilities, you should be running with a kernel that provides support of the GPUs you have installed. baseline requirement, no shortcuts. ✨

if you're using AMD GPUs, installing the latest amdgpu driver package or the latest ROCm release may provide additional capabilities. more power, more options. πŸ”₯

if you have Nvidia GPUs installed, nvidia-smi must also be installed in order for the utility reading of the cards to be possible. no nvidia-smi, no reading. simple as.

writing to GPUs is currently only possible for AMD GPUs, and only with compatible cards and with the AMD ppfeaturemask set to 0xfffd7fff. that's the magic number bestie, don't lose it.

this can be accomplished by adding amdgpu.ppfeaturemask=0xfffd7fff to the GRUB_CMDLINE_LINUX_DEFAULT value in /etc/default/grub and executing sudo update-grub.


🌸 FILES 🌸

  • /usr/share/misc/pci.ids β€” the system list of all known PCI ID's (vendors, devices, classes and subclasses). it can be updated with the update-pciids command. keep your receipts current. 🧾
  • /sys/class/drm/card*/device/pp_od_clk_voltage β€” special driver file for each AMD GPU required by some rickslab-gpu-utils. do not touch unless you know what you're doing, i'm serious.
  • /etc/default/grub β€” the grub defaults file where amdgpu.ppfeaturemask needs to be set. this is where the magic number lives. πŸͺ„

πŸ’€ BUGS πŸ’€

known to not work well with Fiji ProDuo cards and will issue warning messages for Fiji Nano cards. not them being difficult, but here we are. 😭

the display of P-state masks is always the defaults, not the actual values. so like, don't be fooled by what you're seeing there. πŸ™ˆ

please report any additional bugs/issues at https://github.com/Ricks-Lab/gpu-utils β€” the devs want to know, fr fr. πŸ›


πŸ‘‘ SEE ALSO πŸ‘‘

gpu-mon(1), amdgpu(4), update-grub(8), update-pciids(8), lspci(8)


⭐ AVAILABILITY ⭐

the gpu-pac command is part of the rickslab-gpu-utils package and is available from https://github.com/Ricks-Lab/gpu-utils πŸ’–


okay that's the whole thing bestie, you're officially educated. this page is part of rickslab-gpu-utils, dated May 2022, and it lives in manual section 1 (the user commands girlies). go program some GPUs responsibly, and remember: read the bash file before you execute it. πŸ’…βœ¨πŸ¦‹