Har ni provat nvidiadrivrutinens 'nya' power management?

Permalänk
Medlem

Har ni provat nvidiadrivrutinens 'nya' power management?

Disclaimer:
ledsen om detta diskuteras ett otal gånger men jag har inte haft så stor tur med sökfunktionen på swec, vare sig med " " eller utan (sökt på nvidia-hibernate och "nvidia-hibernate" och varje gång blir resultaten ungefär alla trådar).

Nyligen gjorde en uppdatering till min Fedora Workstation (34) med nvidias proprietära drivrutin att
/usr/lib/modprobe.d/nvidia-power-management.conf fick
"options nvidia NVreg_PreserveVideoMemoryAllocations=1" och min maskin med nvidiakort kunde inte suspenda mer.

https://download.nvidia.com/XFree86/Linux-x86_64/470.63.01/RE... förklarar saken. Den där parametern har med ett experimentiellt sätt för linuxdrivrutinen att hantera suspend, hibernate och resume för nvidia-kortet att göra och är förknippad med tre systemd-tjänster (på system med systemd).

Citat:

Additionally, to unlock the full functionality of the interface, the NVIDIA Linux kernel module nvidia.ko needs to be loaded with the NVreg_PreserveVideoMemoryAllocations=1 module parameter. This changes the default video memory save/restore strategy to save and restore all video memory allocations. Also, the /proc/driver/nvidia/suspend power management mechanism (with a system management tool, such as systemd) is required for using this interface

Det går alltså inte så bra att ha optionen nämnd ovan på medan systemd-tjänsterna inte är enablade. (I det stadiet var mitt uppdaterade system som inte kunde suspenda).

Man kan sätta optionen till 0 så fungerar maskinen att suspenda som förr...men en sak jag accepterat som universiell sanning var att Darktable förlorar kontakt med OpenCL när maskinen vaknar, ja clinfo säger "inga enheter", om OpenCL används när maskinen suspendar, ex att Darktable körs när det sker.

Så provade att enabla de tre nämnda systemdtjänsterna,
/usr/lib/systemd/system/nvidia-resume.service
/usr/lib/systemd/system/nvidia-hibernate.service
/usr/lib/systemd/system/nvidia-suspend.service

och woo, maskinen kan suspenda och gör den det med Darktable igång så fortsätter det ha kontakt med OpenCL när den vaknar, riktigt skoj : )

Så kör ni den nya "experimentiella metoden" för sömnlägen för nvidiakort och funkar den väl?

Fördelen verkar ha med bland annat OpenCL/CUDA och suspend att göra. Jag tycker det nya läget är intressant för att det både gynnar mig och för att det gamla läget funnits och varit allmänt vedertaget ganska länge afaik.

Citat:

Instead of callbacks from the Linux kernel, this mechanism, when used, relies on a system management tool, such as systemd, to issue suspend, hibernate, and resume commands to the NVIDIA kernel driver via the /proc/driver/nvidia/suspend interface. It is still considered experimental, and requires explicit configuration to use.

If configured correctly, this mechanism is designed to remove the limitations of the kernel driver callback mechanism. It supports power management with advanced CUDA features (such as UVM), and it is capable of saving and restoring all video memory allocations.

tydligast
Visa signatur

| 212965 00 ] == :^D * ==)

Permalänk
Medlem

Bra att du fick det att fungera och kul att du delar med dig
Jag har inget Nvidia-kort så jag vet inte vad folk brukar köra men det är i regel ganska vanligt att behöva aktivera "experimental" funktioner för att få allt att lira i Linux. Fedora Workstation 34 är också en färsk Linux OS med det allra senaste.

Permalänk
Medlem

Jepp, "first" är en av deras grundvalar : ) freedom friends features first. Trevligaste distron jag kört hittills. Den här nya powersavemetoden gynnar nog bara (Linux) och CUDA/OpenCL-användare som gillar suspend när program som använder sådana funktioner är igång, men kan vara fler saker den är bra på så vore lite kul att höra om fler börjat använda den och märkt nån skillnad.

Edit. Fedora 35 är förresten runt hörnet. Jag antar att det är mest korrekt att säga att Fedora är relativt purfärsk hela tiden, om uppdaterad

Edit2. Hade trott att åtminstone någon här med Linux och nvidia-grafik använde CUDA/OpenCL och fann den nya powersavemetoden användbar, eller att någon annan Linux-person skulle tycka även en sånhär lite nischad sak var intressant (av anledningar givna), men verkar ha felbedömt även detta. Tror jag ska ta en paus från Swec ett tag. Hareflarn.

Exakthet, tjarå
Visa signatur

| 212965 00 ] == :^D * ==)