gputool: How to Overclock NVIDIA and AMD GPUs


  • Staff

    gputool: Overview

    gputool is a PiMP app that allows you to view realtime information about your GPUs directly from the hardware. You can get and set your fans, temps, and clocks.

    NOTE: You MUST stop the miners before setting the clocks/fans, usually.
    NOTE 2: if you have a miner that actually supports fan control (sgminer-gm 5.5+) then this is not needed, and will be overridden by that miner.

    Special thanks to the PIMP Support Team for this guide in both English and French and the new gputool video by DocDrydenn! Thank you Doc!

    gputool Video:

    Youtube Video

    gputool Features:

    • Accurate listing of GPUs detected by linux and by the driver with gputool --list
    • Compact stats for fan rpm, temps, clocks and power with gputool --status
    • Quickly apply existing settings to newly added GPUs with gputool --update
    • Easy user-editable config file generated dynamically

    Setting up gputool

    1. pimpup to be sure you have the latest gputool.
    2. pimp --stop your gpu miners. (Sometimes the driver will refuse to connect if it is mining, because the mining software is controlling the hardware.)
      Stoper tout les processus de minage en cours avec la commande pimp --stop all

    0_1505916481836_gputool-1.png

    1. The first run of gputool will read your GPUs and generate the appropriate /root/gpu-config.json file. If you want to reset an existing gpu-config and start over, you can use the command rm gpu-config.json to delete the file and then run gputool --config again.
      Créer le fichier gpu-config.json avec la commande gputool --config

    0_1505916588112_gputool-2.png

    1. Now, you can edit your file with this command: nano /root/gpu-config.json. Once you have made your changes, Save out with: Control-X then Y, then [Enter]. It will bring you back to the terminal.
      Configure le fichier gpu-config.json, éditer le avec la commande nano gpu-config.json

    0_1505917129479_gputool-3.png

    Set the values u want to overclock the core and memory frequency and also reduce the power consumption.
    Définissez les valeurs que vous voulez pour augmenter la fréquence horloge du core et de la mémoire.

    0_1505917230405_gputool-4.png

    !!! Warning/important note about Offsets for Nvidia clocks:
    Nvidia GPUs specify clocks in offsets. So, you must set the value you want to add at the default values.

    (Example: If the default clock is 1850 and you want it at 1950, you set 100 in NVCoffset.)
    (Example: If the default memclock is 3800 and u want it at 4650 u set 850 in NVMoffset.)

    Vous devez définir les valeurs que vous voulez ajouter à celle par défault, si par défault coreclock est 1850 et vous le voulez à 1950 ajouter 100 dans NVCoffset
    Si par défault memclock est 3800 est vous la voulez à 4650 ajouter 850 dans NVMoffset.
    Fanspeed pour la vitesse des ventilateurs et temtarget pour la température que doit garde le GPU(celon la T° la vitesse des ventilateurs augmente.

    To Save/sauver, Ctrl+x then Y, [Enter]

    1. If you want to double check your file you can use: jsonlint gpu-config.json. It should say OK.
    1. Now, you can activate the GPU to use the config you made in the conf file with the command: gputool --config and the output should look like this:
      Activer la config avec la commande <gputool --config>voici la sortie que vous devrier avoir.

    0_1505917662557_gputool-5a.png

    If you don’t set the values correctly this is the output you’ll get.
    Si vous ne définissez pas les valeurs correctement voici les sorties que vous aurez en terminal.

    0_1505917730647_gputool-5b.png

    Possible cause 1: Invalid values
    Parce que 1:

    0_1505917784578_gputool-5c.png

    Possible cause 2: Syntax error
    Parce que 2:

    0_1505917823533_gputool-5d.png

    1. Tutorial end, if all is set up correctly, you can start the miner, then with the gputool --status command, you can check that your gpu are OC.
      La fin du tuto si tout est configure correctment vous pouvez démarer votre mineur puis avec la commade gputool --status vérifier que les gpu sont OC.

    0_1505918466273_gputool-status.png

    The goal is to get the best efficiency ratio hash/power as you can see in this example.

    Don’t forget all the OC values are different depending the algo you want to mine, so if you swap from an algorithm to another you’ll surely need to change the OC values, because not all the algorithms use the core and memory at the same way.
    Le but est d’obtenir le meileur ratio hash/consommation électrique comme vous pouvez le voir dans l’exemple.
    N’oubliez pas que si vous changez d’algo vous devrez sûrement également changer les valeurs de l’overclock car tout les algo n’utilisent pas la mémoire et le core de la même façon.

    0_1505918644732_gputool-6b.png

    Soon will be released a file with the best oc values for each GPU
    Bientôt sortira un fichier avec les meilleurs valeurs d’oc pour chaques GPU
    Tested on :MSI GTX1060 armor 6Gb and ZOTAC GTX1060 AMP 6Gb


    Note: Some legacy users may still have old overclocking tools and files laying around. These files can safely be deleted: oc.sh, nvidia-config.json, nvidia-fanspeed.sh

    How to set the fans and clocks automatically on boot

    • On all 2.2+ images, gputool --config is run on boot by default. This is provided as an explanation of how to change this behavior.

    • /root/startup.sh should have /opt/pimp/gputool --config if you want to set the parameters on boot time. (Remove any legacy or other nvidia-config or other oc scripts unless you know you need them.)

    • Edit the config file with:  nano /root/startup.sh (and replace any legacy nvidia sh commands with: /opt/pimp/gputool --config. This command loads the /root/gpu-config.json file and configures the GPUs according to that file.

    How to reset gputool settings and generate new conf file:

    If you want to reset gputool:

    1. rm /root/gpu-config.json to delete the file
    2. gputool --config will generate a new file based on current GPUs detected.

    How to edit JSON

    JSON is a great language for connecting systems together. However, it is quite strict in its syntax. Most common issues:

    • You must have a comma between values in a list, and no comma on the last value.
    • All opening brackets and braces must be paired properly.
    • There are no comment characters such as #.

    How to check your JSON Syntax

    PiMP has an included utility called jsonlint to help check the JSON syntax. You can use it like this:

    jsonlint gpu-config.json

    It will give you the OK or it will show you where the errors are.

    What are the settings found in gpu-config.json?

    Running gputool --config sets up a baseline config based on the type of GPUs detected. Some values are set to 0 which for most settings is ignore/auto.

    NVIDIA Cards:

    NVCOffset is the Core clock offset (a calculated value). (default: 0 (auto))
    NVMOffset is the Memory clock offset (a calculated value). (default: 0 (auto))
    NVPLimit is the Power limit for the GPU in Watts and this will throttle the card. (default: 150)

    AMD Cards:

    AMDCoreClk is the core clock value in MHZ. (default: 1200)
    AMDMemClk is the GPU memory clock value in MHZ. (default: 1800)
    AMDPtune is the AMD Powertune, this is usually between 0-20. (default: 7)
    fanspeed is in percent % as always. (default: 100)
    temptarget sets the temperature in C (Celsius) that the GPU will try to work toward. It will adjust fan speed to this target if specified unless you override it with fanspeed. (default: 70). (Never go above 90C!)

    How to DISABLE set the fans and clocks automatically on boot

    Edit the startup script with nano /root/startup.sh and change or comment out the gputool --config line with a # at the beginning of the line.

    Set the clocks but leave the fans automatic / managed by the miner:

    Use "fanspeed" : "auto", along with your custom clock settings, and run gputool --config.

    With this, you will be able to let claymore/ewbf manage the fans, but you still have gputool clocks set.

    If you have problems with fan controls:

    You cannot set both fanspeed directly and then also tell the GPU to set the fanspeed dynamically by temperature target. Perhaps this is what is going wrong in gpu-config.json for you.

    Another thing to check: make sure you use fanspeed or temptarget but not both.

    You can reset the gpu-config.json to default like this:

    1. pimp --stop 1 to stop the miner.
    2. rm gpu-config.json to delete the config.
    3. gputool --config to generate a new config.
    4. nano gpu-config.json to double check the settings. set temptarget to 0 if you want to use fanspeed.
    5. gputool --config attempt to set the fans
    6. gputool --config attempt to set the fans again
      [see the fans go to 100%]
    7. edit claymore.dual.pcfg and remove tt and tstop and any other temptarget / fancontrol options from FLAGS=
    8. pimp --test 1 and view the miner mining with fans 100%

    If When using gputool --config it returns; ERROR: Detected GPUs = 6, Defined GPUs = 2!

    You just have to add the new GPUs to gpu-config.json. You can do it automatically with this command:
    gputool --update

    This will "extend" the existing config to the new cards. You can also instead do the reset steps above.


  • Staff

    Hey pimps post your settings here that you think works nice and stable and gives a nice hashrate! Thanks.

    Here are some of the things found in the development:

    Asus GTX 1070 Dual 8GB on a ASrock Fatal1ty K4 Gaming
    Stock clocks, stock pimp config = 440W at the wall for 6 (~73W per card including motherboard/cpu overhead)

    [/root]:# gputool --status
    PIMP GPU Tool v20170925 Platform type: NVidia
    NOTE: At least one miner appears to be running.
    GPU 0: (GeForce GTX 1070), Temp: 63C, Fan: 38%, Core Clock: 1961 Mhz (0 Offset), Memory Clock: 3802 Mhz (0 Offset), Performance state: 2, Power Usage: 82.6W (151W Max)
    GPU 1: (GeForce GTX 1070), Temp: 61C, Fan: 36%, Core Clock: 1936 Mhz (0 Offset), Memory Clock: 3802 Mhz (0 Offset), Performance state: 2, Power Usage: 76.3W (151W Max)
    GPU 2: (GeForce GTX 1070), Temp: 60C, Fan: 34%, Core Clock: 1949 Mhz (0 Offset), Memory Clock: 3802 Mhz (0 Offset), Performance state: 2, Power Usage: 74.9W (151W Max)
    GPU 3: (GeForce GTX 1070), Temp: 60C, Fan: 33%, Core Clock: 1936 Mhz (0 Offset), Memory Clock: 3802 Mhz (0 Offset), Performance state: 2, Power Usage: 73.2W (151W Max)
    GPU 4: (GeForce GTX 1070), Temp: 64C, Fan: 38%, Core Clock: 1898 Mhz (0 Offset), Memory Clock: 3802 Mhz (0 Offset), Performance state: 2, Power Usage: 74.8W (151W Max)
    GPU 5: (GeForce GTX 1070), Temp: 62C, Fan: 36%, Core Clock: 1974 Mhz (0 Offset), Memory Clock: 3802 Mhz (0 Offset), Performance state: 2, Power Usage: 81.1W (151W Max)
    [Agent: m171-6x1070 (Running) Total HR: [3.50Kh/s] Miners running [1] GPUs [AAAAAA]]
    [08:13 PM][Uptime: 0d 0:04][root@pimp2(10.0.0.171)]
    [/root]:#
    

    Example of XMR miner output:

    [2017-10-16 20:03:46] GPU #3: GeForce GTX 1070, 592.27 H/s
    [2017-10-16 20:03:46] GPU #4: GeForce GTX 1070, 590.46 H/s
    [2017-10-16 20:03:47] GPU #5: GeForce GTX 1070, 592.44 H/s
    [2017-10-16 20:03:47] GPU #1: GeForce GTX 1070, 591.73 H/s
    [2017-10-16 20:03:50] GPU #0: GeForce GTX 1070, 614.23 H/s
    [2017-10-16 20:04:01] GPU #0: GeForce GTX 1070, 608.31 H/s
    [2017-10-16 20:11:24] GPU #4: GeForce GTX 1070, 606.92 H/s
    [2017-10-16 20:11:24] accepted: 4/4 (diff 35.677), 1775.75 H/s yes!
    [2017-10-16 20:11:34] GPU #4: GeForce GTX 1070, 609.04 H/s
    [2017-10-16 20:11:34] accepted: 5/5 (diff 640.922), 1781.83 H/s yes!
    [2017-10-16 20:11:48] GPU #1: GeForce GTX 1070, 574.18 H/s
    [2017-10-16 20:11:49] accepted: 6/6 (diff 58.033), 1782.54 H/s yes!
    [2017-10-16 20:11:54] GPU #1: GeForce GTX 1070, 552.39 H/s
    [2017-10-16 20:11:54] accepted: 7/7 (diff 104.187), 1771.65 H/s yes!
    [2017-10-16 20:12:06] GPU #4: GeForce GTX 1070, 611.83 H/s
    [2017-10-16 20:12:06] accepted: 8/8 (diff 40.537), 1775.39 H/s yes!
    [2017-10-16 20:12:15] Stratum difficulty set to 49920 (49.92)
    [2017-10-16 20:12:24] GPU #2: GeForce GTX 1070, 574.04 H/s
    [2017-10-16 20:12:24] GPU #0: GeForce GTX 1070, 607.65 H/s
    [2017-10-16 20:12:24] GPU #3: GeForce GTX 1070, 573.49 H/s
    [2017-10-16 20:12:24] GPU #5: GeForce GTX 1070, 573.95 H/s
    [2017-10-16 20:12:24] accepted: 9/9 (diff 68.449), 3494.96 H/s yes!
    

    jada <MSI armor 1070> +150 core max and +650 mem max
    promind <1060> 90W powerlimit +100 core +650 mem, if samsung +800
    tenerifemoney (Zotac GTX 1060 6GB model) core: +65 mem +650


    meshak July-22
    "NVCOffset": 0,
    "NVMOffset": 1450,
    "NVPLimit": 100,
    "fanspeed": 100,
    "temptarget": 70
    Nvidia GTX 1070 Founders edition.
    ETH - Total Speed: 180.681 Mh/s, Total Shares: 101, Rejected: 0, Time: 00:35
    [07/22>23:08] .:meshak:. ETH: GPU0 31.959 Mh/s, GPU1 32.031 Mh/s, GPU2 32.026 Mh/s, GPU3 31.917 Mh/s, GPU4 26.235 Mh/s, GPU5 26.513 Mh/s
    [07/22>23:08] .:meshak:. claymore single mode
    EVGA GTX 1070 SC, power 100, gpu 50, mem 1250 seems to be there limit the batch I have , have the micron memory. the nvidia's have samsung which is known to push into the 9000 mhz range.


    nicksfarmnew July-22
    GTX 1070
    "NVCOffset": 0,
    "NVMOffset": 1200,
    "NVPLimit": 90,
    "fanspeed": 80,
    "temptarget": 70


    <zeus> running stable ETH+SIA w 4 GTX 1070s, 2 GTX 1060... cc150 mc400... if i bump these any higher, Claymore pukes... curious if these numbers are similar to what others have found ? result is ~28 ETH... ~21 ETH been trying to reach 30, but can't seem to find the right mix. thoughts?



  • Is there any way to keep my loaded gputool --config when I rb a rig? Mine tend to revert to defaults


  • Staff

    @eyaltoledano

    Yes. You can create, and specify, your own custom conf file to be sure that things stay the way you expect.

    1. Copy the json file to another file: cp gpu-config.json my.json
    2. nano /root/startup.sh and change the line to your own file:
      sleep 15 && /opt/pimp/gputool --config /root/my.json


  • MSI GTX 1050 Ti Gaming X 4Gb
    Samsung memory

    "NVCOffset": 150,
    "NVMOffset": 1000,
    "NVPLimit": 80,
    "fanspeed": 75,
    "temptarget": 70

    Claymore's 10.0 Dual
    12,5 MH/s Etherium
    393 MH/s Decred



  • MSI GTX 1080 Ti Gaming X 11Gb
    Micron memory

    "NVCOffset": 100,
    "NVMOffset": 500,
    "fanspeed": 80,
    "temptarget": 80

    ZCash ~780 H/s (Sols/s)



  • MSI GTX 1060 Gaming X Plus 6Gb
    Plus version is a 9Gbps memory with lower timings but 9000 MHz memory
    Samsung memory

    "NVCOffset": 120,
    "NVMOffset": 800,
    "fanspeed": 80,
    "temptarget": 80

    ZCash ~340 H/s (Sols/s)

    PS
    on this version 1060 Etherium is not profitable: without overclocking maximum 15-16 MH/s



  • MSI GTX 1060 Gaming X 6Gb
    Standart version is a 8Gb memory with standart for 1060s timings and 8000 MHz memory
    Micron memory

    "NVCOffset": 100,
    "NVMOffset": 500,
    "fanspeed": 80,
    "temptarget": 80

    ZCash ~325 H/s (Sols/s)

    =======================================
    "NVCOffset": 120,
    "NVMOffset": 800,
    "fanspeed": 100,
    "temptarget": 80

    ZCash ~330 H/s (Sols/s) - the game is not worth the candle

    PS
    ~310 H/s (Sols/s) with "NVCOffset": 0, "NVMOffset": 0



  • I have tried to change the fan speed on the NVIDIA gpu's using the instructions above without achieving the desired results. Fan speed remains the same no matter what parameters I change. Any help would be appreciated.



  • hello chrismaranjes

    are you using claymore please be sure that you delete the temperature and fan settings from the flaggs section of the pcfg.
    else claymore will overrule gputool



  • MSI 1070 GTX ARMOR 8 GB

    NVC "0"
    NVM "1650"
    NVP "100"
    NVF "70"
    NVT "70"

    this runs stable with XMR powerusage slight shoot outs to 113 watt/hr for the rest 80 watt/hr
    With a 740 h/s on nanopool and a temp average open regular case not a mining rig or extreme heat climate of 35 to max 41 degrees C. room temp around 20 degrees C.

    hope this helps you all out



  • MSI 1070 GTX Armor 8 GB:

    "NVCoffset":"-50",
    "NVMOffset":"950",
    "NVPLimit":"100",
    "fanspeed":"34",
    "temptarget":"70"
    

    Claymore mining Ubiq only. Temperature is about mid 60F, fanspeed is around 34%, and power is about 100W. Hashrate is around 30-31 Mh/s. I find this balance the electricity and still give good hash. If I set the fanspeed to 100, it will run at 100% regardless of the temperature (a bug in PIMP?) Three weeks ago I had a brand new MSI 1070 Armor ran at 100% fan for 2 days, one of the fans broke and stop working. Good thing I can RMA it and get a new one. Be careful about your fan speed!



  • @mosesong said in What are some good clock/gputool settings?:

    Claymore mining Ubiq only. Temperature is about mid 60F, fanspeed is around 34%, and power is about 100W. Hashrate is around 30-31 Mh/s. I find this balance the electricity and still give good hash. If I set the fanspeed to 100, it will run at 100% regardless of the temperature (a bug in PIMP?) Three weeks ago I had a brand new MSI 1070 Armor ran at 100% fan for 2 days, one of the fans broke and stop working. Good thing I can RMA it and get a new one. Be careful about your fan speed!

    If u set the fanspeed to 100, it will run at 100% regardless of the temperature. It's non a bug in PiMP. The PiMP only performs his task clearly :)



  • I was trying to set the automatic fan speed using gputool, and couldn't, so I figured out a direct configuration using nvidia-settings instead.

    Disclaimer: YMMV, do this at your own risk, I'm not responsible if you mess up your setup or damage your hardware.

    My setup:
    Gigabyte H110-D3A
    Intel Celeron 3950
    6 x Zotac Nvidia GTX 1060
    PimpOS 2.2Nvidia

    EWBF
    The EWBF miner with Nvidia cuda does have a setting called -templimit.
    Setting this templimit does not change your fan speed, the ewbf miner will stop mining using the gpu that reaches that templimit.

    CLAYMORE v10
    Claymore settings -tt (target temp), -fanmax, -fanmin do not work with Nvidia card. I tested and confirmed this. The claymore readme also notes that it does not work for Nvidia cards.

    GPUTOOL is a wonderful tool, however, setting the fanspeed is essentially setting a static speed, so set to 0 means no fan speed. Use the NVIDIA X Server Settings GUI tool to check whether your GPU fan speed is set to static or variable. Under the GPU Thermal Settings screen, it is static when the Enable GPU Fan Settings checkbox is checked.

    SOLUTION:
    Use the nvidia-settings for fan control, by setting GPUFanControlState=0. Also, turn off gputool --config during startup.

    Create a new bash file in /root/nvidia-conf.sh:
    #!/bin/bash
    #Enable static fan speed: 1, auto:0
    nvidia-settings -a GPUFanControlState=0
    #Uncomment if GPUFanControlState=1
    #nvidia-settings -a GPUTargetFanSpeed=55
    #Turn on PowerMizer
    nvidia-settings -a GPUPowerMizerMode=1
    #OC GPU
    nvidia-settings -a GPUGraphicsClockOffset[3]=150
    #OC Memory
    nvidia-settings -a GPUMemoryTransferRateOffset[3]=0
    #Enable persistent state
    nvidia-smi -pm 1
    #Power limit
    nvidia-smi -pl 80

    Save the file, and then update the it to executable:
    chmod +x nvidia-conf.sh

    Try to run it to check it runs without error:
    ./nvidia-conf.sh

    Use Nvidia X Server Settings to verify that the fan configuration and GPU OC works as intended.

    Edit the startup.sh, and turn off the gputool --config.
    Add the nvidia-conf.sh command:
    #sleep 15 && /opt/pimp/gputool --config
    sleep 15 && ./nvidia-conf.sh

    Reboot and test everything works okay. So far, I've been running my rig for several hours, and it seems stable, GPU temp about 65-69C, hashrate: 265 - 271 sol/s, I think it can be better with some more tweaks.



  • 5 Gigabyte G1 Gamers and 5 EVGA GTX 1070 SC

    "NVCoffset":"0",
    "NVMOffset":"1100",
    "NVPLimit":"125",
    "fanspeed":"100",
    "temptarget":"70"

    Stable for 24 hours at 30.89 MH/s per gpu



  • @blackice Thanks!
    I thought the fanspeed is the Maximum it would run in order to maintain the target temperature. I see that a lot people set the fanspeed to 100, I guess it's common? This is going to cause the fan wear out quickly not to mention the noise it would create. I'm new to mining so I'm still learning what is "normal".


  • Beta Team

    13 GTX 1070s mining ZEC getting a total of about 5.7 Kh/s
    NVCOffset 100
    NVMOffset 600
    NVPlimit 120
    Fanspeed 80



  • This set up had been stable for over 24 hours Any advice on the settings for the cards?
    2 GTX 1070 SC
    Dual mining ETH 30.00Mh/s | LBRY 37.00Mh/s each card
    -dcri 45
    "NVCOffset": "100",
    "NVMOffset": "1200",
    "NVPLimit": "100",
    "fanspeed": "80",
    "temptarget": "70"
    Mon Oct 30 21:00:11 2017
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 384.47 Driver Version: 384.47 |
    |-------------------------------+----------------------+----------------------+
    | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
    | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
    |===============================+======================+======================|
    | 0 GeForce GTX 1070 On | 00000000:0B:00.0 Off | N/A |
    | 80% 49C P2 100W / 100W | 2392MiB / 8112MiB | 99% Default |
    +-------------------------------+----------------------+----------------------+
    | 1 GeForce GTX 1070 On | 00000000:0D:00.0 Off | N/A |
    | 80% 46C P2 96W / 100W | 2380MiB / 8114MiB | 99% Default |
    +-------------------------------+----------------------+----------------------+



  • hi all,
    I have a lot of AMD GPUs models, i want know, What are some good clock/gputool settings in my gpu-config.json for this models:

    RX 470
    RX 480
    RX 570
    RX 580



  • For some reason using the gputool --config after setting Core to 1167 and Memory to 2050 on my RX580 results in only the memory to be set to this value, it is like the gputool ignores any Core Clocks below 1200.


 



Want 10% more hash from your rigs?



We promise to keep your email safe and never spam you.



Copyright (c) 2017 PiMP LLC. All rights Reserved.

Looks like your connection to PiMP Forum was lost, please wait while we try to reconnect.