L’overclock Nvidia pour le minage (equihash notamment)

Quand on se lance dans le minage sans être trop au fait du hardware, ce qui était mon cas il y a encore quelques semaines, l’overclock peut sembler un truc un peu complexe, voire risqué.

Au sens premier du terme, cela consiste à augmenter la fréquence de l’horloge d’un composant électronique, ici le processeur graphique, enfin d’augmenter sa capacité de traitement des données (et donc le rendement financier dans le cadre du minage!). Mais pas que!

Dans le monde des cartes graphiques, il y a deux grande familles de processeurs graphiques (GPU, Graphics Processing Unit): Nvidia, et AMD. Ces deux sociétés fabriquent des GPU, qui sont ensuite montés sur des cartes graphiques par des fabricants: Asus, Inno 3D, MSI, EVGA, Sapphire, Gigabyte, etc… C’est donc un peu l’équivalent de Intel et… AMD pour les processeurs.

Ici on ne va traiter que de Nvidia, pour deux raisons: j’ai commencé par cette famille de GPU, et c’est la plus simple à overclocker, tout simplement :p

Car contrairement aux GPU AMD, on n’aura pas besoin de flasher le bios de la carte.

MSI Afterburner

C’est via ce logiciel (disponible en téléchargement gratuit ici: https://fr.msi.com/page/afterburner ) que l’on va pouvoir toucher aux réglages de la carte. Même s’il a été conçu par MSI, il convient à n’importe quelle carte graphique / GPU.

L’interface se présente sous cette forme:

MSI Afterburner, skin par défaut

 

Les indicateurs

On retrouve dans le cadran de gauche l’affichage de la fréquence du GPU ainsi que celle de la mémoire juste en dessous.

Dans le cadran de droite on retrouve le voltage de la carte (peu d’importance pour les Nvidia à priori, d’ailleurs il est non contrôlable par défaut, il faut aller dans les options pour rendre ce réglage actif) ainsi que sa température.

Au milieu nous avons dans l’ordre depuis le haut: tension de la carte, limitation de la puissance, limitation de la température, fréquence du GPU, fréquence de la mémoire, vitesse du ventilateur.

En dessous le cadran indique à quelle carte s’applique les réglages, ainsi que le numéro de version du driver.

Enfin, tout au bas du logiciel nous avons une série de graphiques: températures, fréquences,… A noter que pour une meilleure visibilité, vous pouvez ‘détacher’ les graphiques dans une fenêtre re-dimensionnable contrairement à la zone de graphes par défaut. Pour cela il faut cliquer sur ‘Detach’:

Les réglages

  • Power Limit (limitation de puissance, en pourcentage): paradoxalement j’aurais tendance à penser qu’il s’agit du paramètre le plus important. Car une carte sortie de sa boîte (‘stock’) consomme énormément d’électricité, et réduire sa puissance à 70 ou 80% ne fait que peu baisser ses performances (selon le type de coin miné, 20% de PL en moins ne fait perdre que 10%, voire moins, en puissance de calcul) et donc augmente grandement l’efficacité énergétique (on y reviendra plus tard). Evidemment, cela va dépendre du tarif de votre électricité: ceux qui ne la payent pas peuvent au contraire pousser la PL à 110, voire 120%. Dans ce cas il faudra faire attention à avoir un bon refroidissement car la température va grimper en flèche.
  • Temp Limit (limitation de la température). D’origine, ce paramètre est lié automatiquement au power limit (si vous bougez le PL, il bouge avec). Il est possible de supprimer ce lien pour choisir sa propre TL, mais je conseille de ne pas y toucher. A mes débuts j’avais voulu imposer une TL inférieure à celle par défaut pour épargner un peu la carte, et en conséquence le logiciel de minage devait se mettre en pause plusieurs fois par minute le temps que la température redescende. De quoi bien faire chuter la rentabilité!
  • Core Clock (fréquence du processeur): l’overclock à proprement parler. On va agir directement sur la fréquence du GPU, et donc pouvoir augmenter proportionnellement la vitesse du hachage. En général les cartes Nvidia acceptent un maxi de 2000 Mhz pour le CC. A vous de jouer sur ce paramètre en fonction de la fréquence de base de votre GPU (qui varie pour chaque carte). En général +200 permet d’atteindre le maximum d’OC avant plantage. Il faut toutefois prendre en compte qu’au démarrage d’une session de mining (ainsi que de temps en temps pendant de la session) il y a un pic de fréquence, qui fait que vous ne pourrez sans doute pas imposer un OC à 2000 Mhz, mais vous contenter de 1800 à 1900.
  • Memory Clock (fréquence de la mémoire). Primordial pour l’EtHash (Etherum et Etherum classic) pour lequel il faudra maximiser ce paramètre, moins important pour l’Equihash (Zcash, Zencash,bitcoin gold, bitcoinZ etc…). Comme pour le core clock, la limite va dépendre de la fréquence de base de votre carte. Souvent +650 est conseillé, pour ma part j’ai poussé bien plus haut (+900) pour de l’Etherum avec ma 1070 TI, sans rencontrer de soucis.
  • Fan speed (vitesse du ventilateur). Ici, plusieurs options possibles. Par défaut, le ventilateur est géré de manière automatique: sa vitesse augmente avec la température évidement, mais la courbe liant vitesse et température est gérée par la carte. Cette courbe peut être gérée manuellement en cliquant sur l’option (la petite roue dentée à gauche du curseur). Si vous trouvez que le ventilo va trop vite ou au contraire trop lentement, ou que vous souhaitez un ajustement plus fin de la température de votre GPU, il vous faudra ensuite aller dans le menu option (la grosse roue dentée), où vous pourrez ajuster cette fameuse courbe. Enfin, dernière option, désélectionner  l’option ‘Auto’ pour imposer directement la vitesse du ventilateur à la valeur souhaité. C’est ce que je fais par exemple avec ma 1080TI: elle chauffe tellement que je force le ventilo à 100% (ce que certains déconseillent de faire toutefois).

 

Courbe ajustable de la vitesse du ventilo

Afin, une fois vos réglages faits, cliquez sur le ‘tick’ de validation  pour les enregistrer afin qu’Afterburner applique les changements.

De même, vous pouvez revenir aux réglages de base de votre carte en cliquant sur le bouton juste à gauche: 

Sachez que les cartes sont protégées en interne et que vous ne pourrez pas l’endommager avec de mauvais réglages (en tout cas avec Afterburner et les Nvidia): au pire vous aurez des plantages, voire un reboot de votre machine, et sans doute également une usure prématurée (dans le cas d’une température trop élevée pendant trop longtemps).

Sélection des GPU, Profile et Startup

Afterburner gère bien évidemment de manière séparée tous les GPU connectés (*) sur votre RIG, afin d’avoir un réglage individualisé (sachant tout de même que par défaut il applique les mêmes réglages pour les GPU identiques). Pour choisir à quel CPU les réglages s’appliquent, il faut cliquer sur la petite flêche ‘GPU’ et faire la sélection:

Choix du GPU (ici une 1080 TI , une 1070 TI et la puce de la carte mère)

Pour vous éviter d’avoir à re-régler tous les paramètres à chaque redémarrage de votre rig, vous devez sauver le ‘profile’ de votre carte. Ça se passe dans cette section en cliquant sur l’icône disquette: 

Vous pouvez ainsi sauvegarder jusqu’à 5 configurations différentes.

Enfin, pour que vos réglages soit lancés automatiquement avec Windows, vous devez cliquez sur l’icône associée: 

(*) Sauf pour les courbes de ventilateurs: à ma connaissance il n’est pas possible pour Afterburner de gérer une courbe par GPU. On peut certes avoir des réglages différents (vitesse, automatique ou pas), mais dès qu’on applique un réglage via courbe, cette courbe est commune pour tous les GPU. A confirmer! Voir aussi s’il n’existe pas d’autres logiciels permettant de faire ce réglable individualisé.

Trouver le sweet spot de sa carte

Le sweet spot est le point de fonctionnement qui présente le meilleur équilibre entre consommation énergétique, hashrate et.. revenus! Plus simplement, le point de fonctionnement qui maximise votre bénéfice.

Pour caricaturer, imaginons une carte pourrait donner 500 h/s à 150 watts. En poussant le power limit à fond (120% par exemple), on pourrait atteindre un hashrate de 600 h/s, mais avec 300 watts de consommation. Dans ce cas il n’est pas rentable de pousser la carte à fond: en déduisant la consommation électrique, vous gagnerez moins dans le deuxième cas même si vous minez plus de coins en valeur absolue.

Le sweet spot est en parti un choix personnel: si votre électricité est à bas coût, vous pouvez vous permettre d’être moins optimal pour gagner plus. Si vous êtes un mineur-tradeur, peut être souhaiterez vous miner le plus possible d’unités de coins afin de miser sur une explosion des cours, même si votre rentabilité immédiate est moindre. Toutefois, ce ne sera pas le propos de cet article.

On verra que contrairement à ce que beaucoup écrivent, le sweet spot n’est pas forcément le meilleur rapport hash par watt!

Quand j’ai commencé, étant totalement dans l’inconnu, je suis parti des réglages trouvés à droite à gauche, que j’ai ajustés. En voici un rapide résumé associé à mes tâtonnements.

Avant propos

Avant de procéder aux mesures de sweet spot, il vous faudra:

  • une prise wattmètre (trouvable un peu partout pour environ 15 à 20€) afin d’avoir une mesure précise de votre consommation électrique
  • à défaut (ou en complément), utiliser la mesure de puissance de EWBF, en rajoutant l’option –pec à votre ligne de commande
  • whattomine dans un de vos onglets pour l’estimation de vos gains
  • un tableur pour consigner les résultats!

Dans ce tableur je consigne les valeurs suivantes:

  • power limit
  • core clock
  • memory clock
  • puissance à la prise en watts
  • puissance donnée par EWBF en watts
  • hashrate
  • efficiency = hashrate / puissance (donc la mesure du h/s ou sol/s par watt)
  • le gain en $, donné par whattomine pour le hashrate mesuré
  • le gain en € (0.85 x dollars)
  • le coût de l’électricité journalier. On peut considérer que le kW/h coûte approximativement 0.15€ en France (à vérifier sur votre facture edf!). Donc coût journalier = (puissance / 1000)*24*0.15. On divise par mille pour obtenir une énergie en kW/h et on multiplie par 24 pour obtenir l’énergie sur la journée
  • bénef journée: le plus important! Gains en euros moins coût de l’électricité journalier.

Equihash

A l’heure où j’écris cet article (début décembre 2017), l’Equihash est l’algorithme le plus rentable pour les cartes Nvidia. Parmi les coins qui l’utilisent, on retrouve les classiques Zcash (ZEC), Zencash (ZEN), le plus récent BitcoinGold (BTG) ou le moins connu BitcoinZ (BTCZ).

Si vous voulez pas vous faire chier, les réglages optimum pour l’Equihash sont les suivants: Power limit à 70%, memory clock à +200 et memory clock à +650.

Avant d’appliquer ces réglages, regardez que votre carte ne soit pas déjà overclockée d’usine: je me suis fait avoir avec ma 1080Ti de Inno  3D, et je comprenais pas pourquoi elle plantait dès que je poussais un peu les fréquences :p

Autrement, voici la manière dont je procède pour trouver mon point de rentabilité:

  1. je part des valeurs ‘stock’ de la carte mère pour le premier point de mesure.
  2. je lance EWBF pour obtenir cette première mesure. Laisser passer 2 à 3 ‘accepted share’ pour avoir une valeur stabilisée (c’est le plus chiant: attendre que le hashrate ne bouge plus trop, et/ou moyenner les 3 dernières valeurs). Noter le hashrate, la puissance et aller voir dans whattomine le revenu associé, et noter le tout dans votre tableur
  3. je pousse les valeurs CC et MC à +200 et +650. Si la carte plante (cas des cartes OC d’usine), revenir aux valeurs par défaut et augmenter de 20 en 20 jusqu’au plantage (dans ce cas le GPU passent à 0 dans EWBF, où parfois le rig reboot…). Une fois les valeurs connues on passe à la gestion de l’alimentation
  4. passer de 90 à 50% de power limit, par pas de 10. Noter à chaque pas les valeurs associées, comme au point 2. Faire de même de 100 à 120 (ou jusqu’au maxi possible, qui diffère selon les cartes).

Dans le cas de ma 1070 TI, j’obtiens la meilleur efficacité (efficiency) pour un PL à 60% (4.33). Si je traçais un graphe, j’aurais une efficacité très faible pour un PL de 120% (2.66), qui monterais plus ou moins linéairement pour atteindre un point haut à 60% (4.33) et redescendre plus lentement ensuite (efficiency de 4 à 50%).

Mais si je regarde les chiffres du bénéfice, j’ai 2.46€ par jour pour ce réglage de 60%, contre 2.73 avec la PL à 80%, et une efficiency de 3.76.

Qu’est-ce que cela signifie? Simplement que l’efficiency n’a pas d’influence directe sur votre rentabilité, car le coût de l’électricité rentre en compte pour le calcul du bénéfice (Captain obvious à la rescousse :p). Et ce qui compte c’est le bénéfice, pas l’efficacité de la carte. Deux exemples par l’absurde:

  • électricité gratuite: il suffit de pousser le PL à fond. Dans mon cas, avec un PL à 120% je gagnerais 3.36€ par jour, avec une efficiency merdique de 2.66.
  • tarif de l’électricité qui tend vers plus l’infini: dans ce cas, il faut minimiser la puissance, donc un PL à 50%. Et une efficiency de 4.

Que signifie donc la valeur de l’efficiency? Pas grand chose en vérité, si ce n’est de savoir que votre carte peu sortir un bon (ou pas) hashrate par watts. Sauf que votre  carte peut être plus ou moins énergivore, et c’est pas la même chose d’avoir 4 sol/s par watts si votre carte doit consommer pour cela 150 ou 300 Watts.

Il ne vous reste plus qu’à appliquer les réglages que vous avez trouvés sur Afterburner et commencer à miner 🙂

Ce que je fais en plus de temps en temps, c’est de mettre le tableur à jour avec les gains du moment de whattomine, histoire de voir si cela change le point de rentabilité. Sauf gros bouleversements, cela ne devrait pas être le cas.

Mes réglages:

  • Asus 1070 TI Turbo: 80 PL | +200 CC | +650 MC. | Puissance à la prise=170 W (avec la carte mère), puissance EWBF=141 W | Efficiency=3.76 | Hashrate= 531 sol/s
  • Inno 3D 1080 TI: (OC d’usine) 85 PL | +25 CC | +25 MC. | Puissance EWBF=217 W | Efficiency=3.3 | Hashrate= 717 sols/s | Valeur stock=658 sol/s pour 268 W

Ethash

Pour le cas de cet algo qui est derrière les cryptos Ethereum classic (ETC) et Ethereum (ETH), le principe est le même sauf qu’ici il va falloir également jouer sur la fréquence de la mémoire.

Ce que je fais dans ce cas, c’est tout d’abord de jouer sur le power limit comme pour l’equihash. Une fois le point de meilleure rentabilité trouvé, il faut recommencer un autre tableur avec ces valeurs de PL fixes, et jouer sur le core clock et le memory clock.

Comme cette dernière fréquence est le paramètre le plus important, je conseille juste de fixer le core clock à +200 comme il est conseillé de le faire un peu partout, et de faire varier votre memory clock en partant de +600.

Faites des mesures de 50 en 50 jusqu’au plantage de la carte, puis affiner. En ce qui me concerne, je passe de 30.5 à 33 mhs en faisant passer le memory clock de +650 à +1000, sans influence sur la consommation énergétique.

D’après mes lectures, +1000 n’est pas conseillé car cela ferait planter aléatoirement la carte. Comme je n’ai jamais vraiment miné l’etash avec mes GTX (ce n’est pas le plus rentable) et que je n’ai fait que des tests, je ne saurais pas dire combien de temps la carte tient à +1000 sans plantage. Mais +950 par exemple ne devrait pas poser de soucis.

Mes réglages:

  • Asus 1070 TI Turbo: 60 PL |  CC: pas d’influence | +1000 MC. | Puissance à la prise=135 W (avec la carte mère) | Efficiency=0.24 | Hashrate= 32.8 Mh/s

Valeur stock=25.8 Mhs/s pour 180 Watts.

Voilà pour ce premier petit pavé sur mon blog, en espérant que cela puisse servir à d’autres 🙂

 

2 Comments

  • Hazraael dit :

    Sur ubuntu 16.04, avec mes “ZOTAC GTX 1070TI AMP Extreme”, sur Ethash, je fais du 32.6Mh/s par carte. Ma configuration actuelle : Power Limit à 115W et MemoreyRateTransfer à +1500 sans plantage depuis maintenant 14heures d’affilées.

    Avec MemoreyRateTransfer +1600 je faisais du 33MH/s mais plantage au bout d’environ 30-45minutes.

    Je me rapproche de mon “sweetpoint” 🙂

  • Ben dit :

    Merci!! J’ai commencer a miner en Décembre 2017, Je suis rendu avec 14 cartes maintenant.

    Faux pas oublier que le fais de baisser le Power limite Augmente de beaucoup la durée de vie de la carte.Et du powersupply!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *