Page 1 of 1

Script to disable NV Boost

Posted: Sun Oct 18, 2015 5:54 pm
by calkapokole
toTOW wrote:Is it even possible to disable boost function (or any dynamic management of voltage and frequency) ?

It would be so easier if we could get back to the old behaviour of the hardware ... it was easier to control what was happeing.
Yes, it is possible to disable the boost function. I fold occasionally on Windows with a GPU and I use NVIDIA Inspector to switch my GPU from a power state P0 to a lower power state P2 where the boost is not active. Then for the P2 state I set my preferred OC which is 1200 MHz and the GPU is running constantly with this frequency. I even wrote a script for a command line so I do not have to use NVIDIA Inspector's GUI.

I can share my script which supports many different Performance Levels with many frequencies:

Code: Select all

@echo off
setlocal enableextensions

if "%~1" == "" goto missing

set nvi_inspector="C:\Program Files\NVIDIA Inspector\nvidiaInspector.exe"
set nvi_reset=%nvi_inspector% -forcePState:0,16 -setPStateLimit:0,0 -restoreAllPStates:0 -setBaseClockOffset:0,0,0 -setMemoryClockOffset:0,0,0 & timeout 2 > nul

if "%~1" == "min" (
    %nvi_reset%
    if "%~2" == "f" (
        %nvi_inspector% -forcePState:0,8
    ) else (
        %nvi_inspector% -setPStateLimit:0,8
    )
    exit /b
)
if "%~1" == "medium" (
    %nvi_reset%
    if "%~2" == "f" (
        %nvi_inspector% -forcePState:0,5
    ) else (
        %nvi_inspector% -setPStateLimit:0,5
    )
    exit /b
)
if "%~1" == "nvidia" (
    %nvi_reset%
    if "%~2" == "f" (
        %nvi_inspector% -setBaseClockOffset:0,0,135 -setMemoryClockOffset:0,0,-500 -setGPUClock:0,1,835 -setMemoryClock:0,1,2000 -forcePState:0,5
    ) else (
        %nvi_inspector% -setBaseClockOffset:0,0,-115 -setMemoryClockOffset:0,0,-500
    )
    exit /b
)
if "%~1" == "oem" (
    %nvi_reset%
    if "%~2" == "f" (
        %nvi_inspector% -setBaseClockOffset:0,0,135 -setMemoryClockOffset:0,0,0 -setGPUClock:0,1,950 -setMemoryClock:0,1,2500 -forcePState:0,5
    )
    exit /b
)
if "%~1" == "fah" (
    %nvi_reset%
    if "%~2" == "max" (
        %nvi_inspector% -setBaseClockOffset:0,0,135 -setMemoryClockOffset:0,0,-500 -setGPUClock:0,1,1200 -setMemoryClock:0,1,2000 -forcePState:0,5
    ) else if not "%~2" == "" (
        %nvi_inspector% -setBaseClockOffset:0,0,135 -setMemoryClockOffset:0,0,-500 -setGPUClock:0,1,%2 -setMemoryClock:0,1,2000 -forcePState:0,5
    ) else (
        %nvi_inspector% -setBaseClockOffset:0,0,135 -setMemoryClockOffset:0,0,-500 -setGPUClock:0,1,835 -setMemoryClock:0,1,2000 -forcePState:0,5
    )
    exit /b
)
if "%~1" == "max" (
    %nvi_reset%
    if "%~2" == "t" (
        if not "%~3" == "" (
            %nvi_inspector% -setBaseClockOffset:0,0,135 -setMemoryClock:0,2,%3
        ) else (
            %nvi_inspector% -setBaseClockOffset:0,0,135
        )
    ) else if "%~2" == "bench" (
        %nvi_inspector% -setBaseClockOffset:0,0,135 -setMemoryClockOffset:0,0,200 -setGPUClock:0,1,1250 -setMemoryClock:0,1,2700 -forcePState:0,5
    ) else if not "%~2" == "" (
        if not "%~3" == "" (
            %nvi_inspector% -setBaseClockOffset:0,0,135 -setMemoryClockOffset:0,0,200 -setGPUClock:0,1,%2 -setMemoryClock:0,1,%3 -forcePState:0,5
        ) else (
            %nvi_inspector% -setBaseClockOffset:0,0,135 -setGPUClock:0,1,%2 -setMemoryClock:0,1,2500 -forcePState:0,5
        )
    ) else (
        %nvi_inspector% -setBaseClockOffset:0,0,135 -setGPUClock:0,1,1235 -setMemoryClock:0,1,2500 -forcePState:0,5
    )
    exit /b
)

:unrecognized
echo Unrecognized parameter.
goto help

:missing
echo Missing parameter.

:help
echo Type: %0 min [f] ^| medium [f] ^| nvidia [f] ^| oem [f] ^| fah [max ^| GPU clock] ^| max [t [memory clock] ^| bench ^| GPU clock [memory clock]]
I use a mobile GPU (GTX 660M) and several parameters are not available for my card (like -setFanSpeed, -setVoltageOffset, -setPowetTarget and -setTempTarget). Anyone interested can easily adjust this script for his/her card.

Script to disable NV Boost

Posted: Sun Oct 18, 2015 9:59 pm
by calkapokole
One correction: the lower power state that I use is P5 and to be percise it is called by NVIDIA Inspector a 'Performance State'.

Re: 9634 (Run 0, Clone 9, Gen 5)

Posted: Mon Oct 19, 2015 9:09 am
by artoar_11
I will try these days Nvidia Inspector. I am sure that the GTX 970 can operate without overload on the factory OC frequency (1300 MHz) with a lower voltage. For example 1.180 to 1.190 V instead of 1.212 V (boost voltage).
Here I find guide for Nvidia Inspector for older 600 Kepler: http://www.overclock.net/t/1267918/guid ... dervolting

Re: 9634 (Run 0, Clone 9, Gen 5)

Posted: Mon Oct 19, 2015 3:48 pm
by calkapokole
It is a good guide.

Re: 9634 (Run 0, Clone 9, Gen 5)

Posted: Mon Oct 19, 2015 6:08 pm
by bigblock990
gpu boost and adaptive clocking are not the same thing.

Adaptive clocking allows the gpu to idle down when not under load. To turn this off, select maximum performance, which just forces P0 (full 3D clocks) all the time.

GPU boost sets the clock speed for both P0 (3d) and P2 (2d) depending on a bunch of variables including load, temps ect ect. GPU boost can be disabled with a modified bios.

Re: 9634 (Run 0, Clone 9, Gen 5)

Posted: Mon Oct 19, 2015 8:36 pm
by bruce
bigblock990 wrote:GPU boost sets the clock speed for both P0 (3d) and P2 (2d) depending on a bunch of variables including load, temps ect ect. GPU boost can be disabled with a modified bios.
So why doesn't NV incorporate enough features from that modified bios to solve the problem? They're not supporting their product.

Re: 9634 (Run 0, Clone 9, Gen 5)

Posted: Mon Oct 19, 2015 9:04 pm
by bigblock990
bruce wrote:
bigblock990 wrote:GPU boost sets the clock speed for both P0 (3d) and P2 (2d) depending on a bunch of variables including load, temps ect ect. GPU boost can be disabled with a modified bios.
So why doesn't NV incorporate enough features from that modified bios to solve the problem? They're not supporting their product.
Nvidia only supplies a reference vbios. The manufacturers (evga, msi, asus ect) then create their own bios from that depending on the card model, which creates varying levels of "factory OC". If you want to disable gpu boost, you have to modify your own bios or download from someone who already has. Then you must reflash your gpu. This is all done at your own risk. Nvidia doesn't support it at all.

Re: 9634 (Run 0, Clone 9, Gen 5)

Posted: Mon Oct 19, 2015 9:36 pm
by calkapokole
In order to disable GPU Boost on Windows you can also use NVIDIA Inspector as described above and force your GPU to run with a constant frequency. It works just fine in P5-state for my GTX 660M. Another great thing that I forgot to mention earlier is that in the P5-state the PCI-E bus interface of my card switches from version 3.0 to the lower version 2.0 with a reduced bandwidth which decreases temperature of the card under load by 5 C.

Re: Script to disable NV Boost

Posted: Tue Oct 20, 2015 2:43 am
by Grandpa_01
The default Nvidia bios on the current cards runs at P2 when you run compute software on it which lowers the memory speed from 7000Mhz to 6000Mhz I have used Inspector to raise the memory speed to the default 7000Mhz when running GPUGrid but I have not used it for much else. Unfortunately it only works on Windows which does not appear to be bothered as much by the slow down problem. It is a good tool for windows though. I wish the had a Linux version :ewink:

Re: Script to disable NV Boost

Posted: Tue Oct 20, 2015 1:13 pm
by toTOW
Don't worry too much about the slowdown problem, it should be fixed in next version of core 21.

Does anyone noticed a reduction in bad states after playing with those scripts ?

Re: Script to disable NV Boost

Posted: Tue Oct 20, 2015 8:52 pm
by artoar_11
With NV Inspector I disable Boost. GPU load considerably decreased. GTX 970.
GPU Voltage: 1.162 V (permanently); Boost Voltage: 1.212
Core Clock: 1275 MHz (permanently); Boost Clock: 1300 MHz
I currently received WU by p11401. Will be completed after about 3h. I can report results after about 9h.