Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Linux users have been unable to under-volt NVidia GPUs since the Kepler days when NVidia removed that facility from the System Management Interface (SMI).

 

In essence, under-volting allows you to run a higher clock frequency at a lower GPU core voltage and thus at a lower heat load making GPUs more efficient.

 

The same effect can be had by lowering the power limit and adding a positive Clock Offset. The issue with this approach is when a Work Unit (WU) checkpoints, or something else occurs which reduces the GPU load for a longish interval, when returning to activity the offset tends to apply to an already fairly high clock frequency typically causing the WU to fail.

 

However, there is an often over-looked switch for the NVidia SMI that can be used to prevent this from happening.

    -lgc  --lock-gpu-clocks=    Specifies <minGpuClock,maxGpuClock> clocks as a
                                pair (e.g. 1500,1500) that defines the range
                                of desired locked GPU clock speed in MHz.
                                Setting this will supercede application clocks
                                and take effect regardless if an app is running.
                                Input can also be a singular desired clock value
                                (e.g. <GpuClockValue>).

So one could do something like:

nvidia-smi -pm 1
nvidia-smi -i 0 -pl 160
nvidia-smi -i 0 -lgc 1830,1980
DISPLAY=:0 XAUTHORITY=/run/user/121/gdm/Xauthority nvidia-settings \
 -a [gpu:0]/GPUFanControlState=1 \
 -a [fan:0]/GPUTargetFanSpeed=75 \
 -a [fan:1]/GPUTargetFanSpeed=75 \
 -a [gpu:0]/GPUPowerMizerMode=1 \
 -a [gpu:0]/GPUGraphicsClockOffsetAllPerformanceLevels=75

to:

  1. Set Persistence Mode for all GPUs (so power limits "stick" across WUs)
  2. Set the Power Limit for GPU0 to 160W
  3. Set the Minimum GPU Core Clock to 1830MHz and the Maximum to 1980MHz.
  4. Enable manual fan control
  5. Set both fans for a Turing or later GPU to 75% (Pascal and earlier only have 1 fan control register which controls both fans)
  6. Set GPU0 to "Prefer Maximum Performance"
  7. Add a +75MHz (5 x 15MHz Turing "bins") GPU Clock offset

FaH BOINC HfM

Bifrost - 6 GPU Folding Rig  Linux Folding HOWTO Folding Remote Access

Systems:

dcn01: Fractal Meshify C; Gigabyte Aorus ax570 Master; Ryzen 9 5950x; EVGA 240 CLC; 2 x 16GB DDR4-3200; 512GB NVMe; EVGA RTX 2070 Super XC Hybrid; EVGA GTX 1070 SC Gaming; Corsair TX750M

dcn02: Fractal Define S; Gigabyte ax570 Pro WiFi; Ryzen 9 3950x; Noctua NH-D15; 2 x 16GB DDR4-3200; 128GB NVMe; EVGA RTX 2070 Super XC Hybrid; EVGA RTX 2070 XC Gaming; Corsair TX650M

dcn03: Fractal Meshify S2; Gigabyte Aorus ax570 Pro WiFi; Ryzen 9 3900x; Noctua NH-D15; 2 x 16GB DDR4-3200; 128GB NVMe; EVGA RTX 2070 Super XC Hybrid; EVGA RTX 2060 XC Gaming; Corsair TX650M

dcn04: Fractal Meshify S2; Gigabyte z370 Gaming 5; i9-9900K; EVGA 280 CLC; 2 x 8GB DDR4-3200; 128GB NVMe; EVGA RTX 2070 Super XC Hybrid; EVGA RTX 2060 XC Ultra Gaming; Corsair TX650M

dcn05: Fractal Define R4; Gigabyte ax370 Gaming K7; Ryzen 7 2700x; Hyper 212Evo e/w Noctua NF-A12 iPPc 3000 PWM; 2 x 8GB DDR4-3200; 128GB NVMe; EVGA RTX 2070 Super XC Hybrid; EVGA GTX 1660ti XC Ultra Gaming; Corsair TX650M

dcn06: Fractal Define C; Gigabyte ax570 Gaming X; Ryzen 7 2700; 2 x 4GB DDR4-2400; Samsung 250GB SSD; Gigabyte GTX 1060 6GB; Corsair TX550M

dcn10: Supermicro SC731; Gigabyte Aorus b450m; Ryzen 5 2700; 2 x 8GB DDR4-2400; Cruical 64GB SSD; SuperMicro 300W Bronze

dcn11: Fractal Core 1100; Gigabyte Aorus b450m; Ryzen 5 2600x; 4 x 4GB DDR4-2400; Samsung 120GB SSD; ATI HD5670; Corsair CX500

dcn12: Fractal Focus G; Gigabyte z370 SLI; Pentium G5500; 1 x 4GB DDR4-2400; Samsung 256GB SSD; Corsair CX450M

dcn19: NUC6i3SYK; Intel i3-6100U; 2 x 8GB DDR4-2133; Samsung 120GB NVMe

Link to post
Share on other sites

Remember to enable coolbits, and could you explain to me how this actually undervolts the card? Have you tested the voltage behavior?

Main: AMD Ryzen 7 1700X, Nvidia RTX 2060, 16 GB 2400 MT/s DDR4 Fedora 34 x86_64

Secondary: Intel Xeon W3680, Nvidia GTX 660, 24 GB 1333 MT/s DDR3 Windows 10 Home x86_64

Server: 2x Intel Xeon X5670, 72 GB 1333 MT/s DDR3-R Ubuntu Server 20.04.1 LTS x86_64

Laptop: Intel Core i5-3320M, 16 GB 1600 MT/s DDR3 Fedora 34 x86_64

Link to post
Share on other sites
26 minutes ago, svmlegacy said:

Remember to enable coolbits, and could you explain to me how this actually undervolts the card? Have you tested the voltage behavior?

“... The same effect can be had ...”

 

I can confirm that using a positive clock offset at a reduced power limit will increase the effective performance (PPD) over a GPU with just the same power limit applied.

FaH BOINC HfM

Bifrost - 6 GPU Folding Rig  Linux Folding HOWTO Folding Remote Access

Systems:

dcn01: Fractal Meshify C; Gigabyte Aorus ax570 Master; Ryzen 9 5950x; EVGA 240 CLC; 2 x 16GB DDR4-3200; 512GB NVMe; EVGA RTX 2070 Super XC Hybrid; EVGA GTX 1070 SC Gaming; Corsair TX750M

dcn02: Fractal Define S; Gigabyte ax570 Pro WiFi; Ryzen 9 3950x; Noctua NH-D15; 2 x 16GB DDR4-3200; 128GB NVMe; EVGA RTX 2070 Super XC Hybrid; EVGA RTX 2070 XC Gaming; Corsair TX650M

dcn03: Fractal Meshify S2; Gigabyte Aorus ax570 Pro WiFi; Ryzen 9 3900x; Noctua NH-D15; 2 x 16GB DDR4-3200; 128GB NVMe; EVGA RTX 2070 Super XC Hybrid; EVGA RTX 2060 XC Gaming; Corsair TX650M

dcn04: Fractal Meshify S2; Gigabyte z370 Gaming 5; i9-9900K; EVGA 280 CLC; 2 x 8GB DDR4-3200; 128GB NVMe; EVGA RTX 2070 Super XC Hybrid; EVGA RTX 2060 XC Ultra Gaming; Corsair TX650M

dcn05: Fractal Define R4; Gigabyte ax370 Gaming K7; Ryzen 7 2700x; Hyper 212Evo e/w Noctua NF-A12 iPPc 3000 PWM; 2 x 8GB DDR4-3200; 128GB NVMe; EVGA RTX 2070 Super XC Hybrid; EVGA GTX 1660ti XC Ultra Gaming; Corsair TX650M

dcn06: Fractal Define C; Gigabyte ax570 Gaming X; Ryzen 7 2700; 2 x 4GB DDR4-2400; Samsung 250GB SSD; Gigabyte GTX 1060 6GB; Corsair TX550M

dcn10: Supermicro SC731; Gigabyte Aorus b450m; Ryzen 5 2700; 2 x 8GB DDR4-2400; Cruical 64GB SSD; SuperMicro 300W Bronze

dcn11: Fractal Core 1100; Gigabyte Aorus b450m; Ryzen 5 2600x; 4 x 4GB DDR4-2400; Samsung 120GB SSD; ATI HD5670; Corsair CX500

dcn12: Fractal Focus G; Gigabyte z370 SLI; Pentium G5500; 1 x 4GB DDR4-2400; Samsung 256GB SSD; Corsair CX450M

dcn19: NUC6i3SYK; Intel i3-6100U; 2 x 8GB DDR4-2133; Samsung 120GB NVMe

Link to post
Share on other sites
  • 7 months later...
On 10/20/2020 at 8:54 AM, svmlegacy said:

Remember to enable coolbits, and could you explain to me how this actually undervolts the card? Have you tested the voltage behavior?

On the subject of undervolting and 'coolbits' : 

I have an RTX3070 and an RTX 2070 Super in my computer. I have no problems with enabling Coolbits to my RTX 3070 which is connected to a display. However I cannot enable Coolbits on my RTX 2070 Super that is not connected to a display. I need to be able to control the fan speed on my RTX 2070 Super so that it can keep it at a reasonable temperature during mining-intensive operations. My OS is Fedora 34 Server with Gnome 4.0 installed. 

If someone can point me in the right direction, it would be much appreciated. 

Link to post
Share on other sites
5 hours ago, specializedtom said:

On the subject of undervolting and 'coolbits' : 

I have an RTX3070 and an RTX 2070 Super in my computer. I have no problems with enabling Coolbits to my RTX 3070 which is connected to a display. However I cannot enable Coolbits on my RTX 2070 Super that is not connected to a display. I need to be able to control the fan speed on my RTX 2070 Super so that it can keep it at a reasonable temperature during mining-intensive operations. My OS is Fedora 34 Server with Gnome 4.0 installed. 

If someone can point me in the right direction, it would be much appreciated. 

Start a separate thread on this issue instead of highjacking this one. 

Main: AMD Ryzen 7 1700X, Nvidia RTX 2060, 16 GB 2400 MT/s DDR4 Fedora 34 x86_64

Secondary: Intel Xeon W3680, Nvidia GTX 660, 24 GB 1333 MT/s DDR3 Windows 10 Home x86_64

Server: 2x Intel Xeon X5670, 72 GB 1333 MT/s DDR3-R Ubuntu Server 20.04.1 LTS x86_64

Laptop: Intel Core i5-3320M, 16 GB 1600 MT/s DDR3 Fedora 34 x86_64

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×