Need explanation for automatic fan control's variables

Discussion in 'RivaTuner Advanced Discussion forum' started by lanceton, Sep 22, 2007.

  1. lanceton

    lanceton New Member

    Messages:
    4
    Likes Received:
    0
    They are as followed:

    Duty cycle min
    Duty cycle max
    T min
    T range
    T operating
    T low limit
    T high limit

    I am using profiles for fan control at the moment, but since there's this automatic fan control, why not just use it?

    Would someone who know what exactly those variable mean explain them to me, thanks.
     
  2. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    14,548
    Likes Received:
    1,612
  3. ribbell

    ribbell Active Member

    Messages:
    55
    Likes Received:
    0
    GPU:
    4870X2
    Great.
    If anyone is interested, here are the instructions for setting up the auto control fan variables in order to have the fan duty-cycle varying linearly between a minimum temperature (at which the duty-cycle is the minimum duty-cycle) and a maximum temperature (at which the duty cycle is the maximum duty-cycle).
    1) We have to set the minimum and the maximum duty-cycle. The variables to change are "Duty cycle min" and "Duty cycle max".
    In this example we set "Duty cycle min" = 60% and "Duty cycle max"=100% (the default values in my case), i.e. the duty-cycle is never lower than 60% and the fan speed is maximum when the GPU reaches the maximum temperature.
    2) We have to set the minimum temperature, i.e. the temperature at which the speed fan is increased. This parameter is controlled through the variable Tmin. Note that this variable refers to the temperature processed by the fan controller, that, as far i know, is taken from the fan integrated sensor, not from the Gpu integrated thermal diode, i.e. the temperature you see by default in RivaTuner. For this reason the two temperatures are different. On my system, the temperature reported by the fan controller is 6-7 C lower than the default temperature. In order to see the temperature reported by the fan controller, right click on the core temperature graph in the hardware monitor window and select setup. Then under the "Data provider" menu, select ADT7473. In this way you can monitor drectly the temperature processed by the fan controller. So, if we want Tmin linked to the GPU temperature as reported by RivaTuner from the Gpu thermal diode, we have to take into account this temperature offset, Toffset.
    Let's suppose we want set Tmin to 65 C. By taking into account Toffset, the value to enter in the controller rules is:
    Tmin=65-6=59
    where i entered my offset of 6 C
    3) We have to set the maximum temperature Tmax, i.e. the temperature at which the duty-cycle is set to 100%.
    This is done through the variable "T-Range". TR ( T Range) can be found through this relation:
    TR=2/3*(Tmax-Tmin)/(Dmax-Dmin)
    where Dmax and Dmin are the minimum and maximum duty-cycles in p.u., i.e. 60% -> 0.6, 100% -> 1.
    Let's suppose we want Tmax at 75 C. We have:
    TR=2/3*(75-65)/(1-0.6)=16.7
    So we should enter 16.7 for T-Range in Riva, but not all values are possible. RivaTuner will choose the closest value accepted by the controller to the one we enter. In this case the closest value is 16.
    4) We have to disable the dynamic Tmin control of the controller.
    It is enough to set:
    T operating = 110
    T low limit = 0
    T high limit = 110

    This is the result after a run of 3mark05:
    [​IMG]
     
    Last edited: Sep 24, 2007
  4. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    14,548
    Likes Received:
    1,612
    Thanks for the posting, I really like to see new _thinking_ people here.
     

  5. Raikku

    Raikku Master Guru

    Messages:
    244
    Likes Received:
    0
    GPU:
    POV GTX 280
    I have to try this.

    Although i have to say that this seems so complicated when compared to ATT's simple fan-settings(just put temperature-limits there and thats it).

    I'm not sure if i manage to do the same with Riva.


    I would like do something like this:

    <60c/60%, >65c/70%, >70c/80% and >80c/100%
     
  6. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    14,548
    Likes Received:
    1,612
    One more user esaping from ATI?

    It is not anyway relatred to "complicated" approach used in RivaTuner or "simple" ATI Tray Tools you used to use. A set of automatic fan control parameters provided to end user entirely depends on the type of hardware fan controller chip installed on the graphics card. RivaTuner provides the same "simple" fan control settings for all ATI cards because ATI fan controllers cannot provide you anything besides primitive thermal lookup. Fan controllers installed on NVIDIA hi-end display adapters are much more flexible and give much better thermal/accoutsic balance.
    So forget about your ATI past. You'er on completely different graphics platform with completely different hardware feature set.
     
    Last edited: Sep 22, 2007
  7. Moros

    Moros Member

    Messages:
    10
    Likes Received:
    0
    GPU:
    Sparkle 8800GTS 320MB
    @ribbell
    Very interesting approach. Where can I find the described values in RivaTuner? Looked under "PowerUser" but couldn't find them.
     
  8. ribbell

    ribbell Active Member

    Messages:
    55
    Likes Received:
    0
    GPU:
    4870X2
    The variables are in low-level system tweaks -> Fan.
    By default they are read-only. In order to change them, you have to set
    AutoFanSpeedControl to 3 under RivaTuner\Fan in PowerUser.
    Of course my previous post applies only if your board comes with the ADT7473 Fan controller.
     
  9. ribbell

    ribbell Active Member

    Messages:
    55
    Likes Received:
    0
    GPU:
    4870X2
    ...and thank you for RivaTuner, every now and then i discover something new and useful, really wonderful, and let me add that the context help is by far the more rich i ever seen in a program.
     
  10. Moros

    Moros Member

    Messages:
    10
    Likes Received:
    0
    GPU:
    Sparkle 8800GTS 320MB
    Works great. Thank you very much.

    I will copy/translate that litte tutorial, so that more people can use the great features of RivaTuner.
     

  11. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    14,548
    Likes Received:
    1,612
    Just a small comment to auto fan speed rule programming summary:

    Absolutely correct, fan controller really uses different thermal sensor as input parameter for automatic fan control. You can easily see the offset mentioned above by switching "Core temeprature" graph from default (or NVThermalDiode) to ADT7473 data provider. To do it right click "Core temeprature" graph, select "Setup" from the context menu then select ADT7473 plugin as data provider in the graph properties.
     
  12. ribbell

    ribbell Active Member

    Messages:
    55
    Likes Received:
    0
    GPU:
    4870X2
    Thank you. I updated the first post.
     
  13. Goldifsh

    Goldifsh New Member

    Messages:
    4
    Likes Received:
    0
    GPU:
    MSI 7900GTO SLi
    SLi issue

    Hi!
    Nice guide, easy reading.
    I got SLi, and only one GPU will be affected by this alteration of the Auto-parameter. It doesn't matter which Target (GPU) I select, the it's only the GPU in the 1st PCI-E slot that get's affected. (Yes, i changed the parameters to both GPU's)

    I know RT doesn't support SLi, but gotta ask anyway incase there's something wrong with my settings. Haven't changed anything in the registry, except for the unlocking of the Auto-parameter window.

    I am using newest Nvidia XP drivers and RT 2.04.
     
  14. awesom-o

    awesom-o New Member

    Messages:
    6
    Likes Received:
    0
    GPU:
    Asus GTX 560 Ti
    Thanks ribbell for the guide! works perfetly!
     
  15. mikeyakame

    mikeyakame Master Guru

    Messages:
    207
    Likes Received:
    0
    GPU:
    GTX280 729/1566/2700
    mucho gracias, works splendid. as complicated as it sounds, its a sight quicker to setup than using 2d mapping with duty cycle profiles and temperature ranges.
     

  16. krusher_r

    krusher_r Member

    Messages:
    20
    Likes Received:
    0
    Thanks for the tip on disabling the dynamic feature ribbell; I had thought about that when I posted a message months ago (in another thread) but didn't know what effect it would have. I'm running my 8800GTX at 8800GTX XXX speeds so I went with a little more aggressive settings. Well, actually my shader is running faster now. This should keep me 3 degrees C cooler (72C) and the fans will ramp up in speed more gradually. I had a 6 degree C difference vs. the other sensors also; my idle temp is 56C right now.

    Tmin=54
    Trange=20
    Toperating=110
    Tlowlimit=0
    Thighlimit=100

    In reality, once you hit 100% duty cycle on the fan, the temp will end up "whatever the surrounding air can support". It seems that Nvidia doesn't like to go above 80% duty cycle, or at least it didn't on my card. They must be concerned about noise. If it bugs me, I'll go back to your settings.

    Thanks.
     
  17. ataboy

    ataboy New Member

    Messages:
    1
    Likes Received:
    0
    Is adt7473 required for this method or is it just a difference of how you calculate your temperatures?

    I have BFG 7800 GT OC. My core temp is not provided by adt7473.

    I read and reread this a couple of times but it was not clear if having/not having adt7473 just meant temp offset calc. was required or if the adt7473 was how riva retrieves core temp values for the variables used in this method.
     
  18. Unwinder

    Unwinder Moderator Staff Member

    Messages:
    14,548
    Likes Received:
    1,612
    This thread explains ADT7473 hardware fan control basics. It is useless for 7800GT owners, these cards don't have ADT7473 installed.
     
  19. rhiridflaidd

    rhiridflaidd Member

    Messages:
    24
    Likes Received:
    0
    I've been playing a lot with these formulae, and found a few handy ones.

    To work out the fan output for any given temperature

    =MIN($B$2,MAX($B$1,(C1-$B$3)/($B$5-$B$3)*($B$2-$B$1)+$B$1))

    Where for my fan

    b1= dmin, b2 = dmax, b3= tmin,b4 trange (not used in the above formula) b5= tmax.

    T max has to be calculated TMAX = TMIN + (Max DC − Min DC) × TRANGE *1.5

    - Or more usefully- most of us know what we want our T max to be - the temperature at which the fan should go at 100%. So to calculate the tmin that gives your desired tmax.....

    So set tmin to be B5-((3*B4*(B2-B1)))/2

    Since t range can only be modified in steps ( the useful ones for me are 20,26,32,40, the easiest way to set t max is by modifying tmin - the temp at which the fan starts revving up, and dmin - your default fan speed. But always keep dmin above the default value - and I'd keep it 10 over the default value myself.

    But be careful- messing with these settings can turn off your fan altogether, and the above formulae are not validated. Be warned. They are to help those who already know what they are doing, and are not at a stage to be relied upon in any way.
     
  20. krusher_r

    krusher_r Member

    Messages:
    20
    Likes Received:
    0
    Has anyone else tried using these custom settings and had problems? I've been getting the "pink screen of death" lately and all is back to normal once I went back to the default. My card seems to be happy at 80C (even though it crashed at 68C). No need to respond here unless your card starts acting weird.
     

Share This Page