Les Paramètres FAH : signification et conditions d'utilisation

Publié le par Cobra

Bienvenue dans le tutoriel consacré aux paramètres FAH !

 

Sommaire du tutoriel

 

Introduction

En Français, on désigne par paramètre, ce que Stanford nomme argument ou flag, switch ou encore, et c'est plus compréhensible pour nous, parameter. C'est une mention que l'on inscrit dans la cible d'un raccourci, ou bien dans la fenêtre de configuration, sur la ligne Additional client parameters. Cette mention permet d'accéder à des options de configuration dont nous verrons, ci-après, la signification précise.

 

Notons que ces paramètres viennent en complément des options de configuration basiques ou avancées décrites dans les différents tutoriels.

 

On lit encore parfois qu'un client peut parfaitement fonctionner sans que nous ayons rien à savoir des paramètres. Pourtant, lors de la première configuration d'un client version 6 en mode console, il est fortement recommandé d'utiliser le paramètre -configonly. Cela est aussi valable lorsqu'on a l'intention d'inscrire des paramètres sur la ligne de configuration Additional client parameters. La modification d'un élément de la configuration peut nécessiter -config. Si nous voulons terminer proprement le traitement d'une unité de travail (WU) et ne plus en télécharger une autre, nous inscrivons -pause ou -oneunit. Et que dire du paramètre -smp obligatoire et permanent pour accéder au client « haute performance » SMP ? Et il y en a encore beaucoup d'autres à bien connaître.

 

Stanford nous permet d'obtenir la liste de la plupart des paramètres et leur signification sommaire. Pour un client en mode console (non configuré en tant que service), nous inscrivons la mention -help (c'est un paramètre) dans la cible de son raccourci :

 

http://nsm04.casimages.com/img/2010/11/20//101120034312221007150730.png

 

En relançant le client, nous obtenons l'écran suivant :

 

http://nsm04.casimages.com/img/2010/11/20//101120034556221007150770.png

 

Tiens, il manque le paramètre -gpu x ! L'inscription de la mention -help dans la cible du raccourci du client GPU donne la liste incluant ce paramètre :

 

http://nsm04.casimages.com/img/2010/11/20//101120034721221007150794.png

 

Par contre le paramètre -forceasm a disparu, mais c'est normal car il concerne seulement les optimisations CPU. Ce qui ne signifie pas pour autant que -help permet à chaque client d'afficher parfaitement les seuls paramètres qui lui sont propres, puisque dans cette liste, issue du client GPU, il y a le paramètre -smp propre au client SMP (incohérence ou préparation vers un client vraiment unique ?). Par ailleurs, on peut remarquer le paramètre obsolète -deino devenu incompatible avec le SMP2 6.30.

 

Précisons immédiatement que ces paramètres ne se mettent pas n'importe où et ne doivent pas être utilisés à la légère, sinon on va vers de gros déboires.

 

  • Pour un client en mode console (non configuré en tant que service), tous les paramètres supportés par le client concerné peuvent être mis dans la cible du raccourci mais nous verrons qu'il est plus judicieux de n'utiliser ici que les paramètres ponctuels (par exemple -config, -pause, etc). Les paramètres permanents, lorsque c'est souhaité, devront être inscrits dans la fenêtre de configuration, sur la ligne Additional client parameters. Cependant, l'inverse n'est pas vrai car seuls les paramètres permanents devront être mis sur la ligne Additional client parameters et cela quels que soient le client et le mode. Aussi, ne tentons pas le diable à tester, par exemple, -configonly ou -config inscrits sur la ligne Additional client parameters !
  • Pour un client en mode System tray (graphique), il n'y a rien de plus simple, puisque l'icône figurant dans la barre des tâches permet d'accéder, grâce au clic droit, directement à l'option Configure. L'onglet Advanced permet d'accéder à la ligne Additional client parameters pour les paramètres permanents. Mais il ne faut surtout pas mettre un paramètre, même s'il s'agit d'un paramètre ponctuel, dans la cible de son raccourci (si on en a créé un), car on risque une erreur fatale. C'est l'interface (clic droit sur l'icône) qui fait fonction de paramètres ponctuels.
  • En ce qui concerne une version console configurée en tant que service, il faut être un utilisateur averti pour affecter un paramètre et même pour arrêter proprement le client, une rubrique lui est consacrée en fin de page et fournit les explications nécessaires.

Les paramètres ponctuels

  • Clients Console Windows : ils doivent être inscrits dans la cible du raccourci du client console, non configuré en tant que service, et nulle part ailleurs.
  • Clients Systray Windows : il n'y a pas lieu de les inscrire spécifiquement, un clic droit sur l'icône permet d'accéder aux options afférents à ces paramètres.
  • Sous Linux : ils doivent être inscrits en ligne de commande dans le Terminal.

 

-configonly : c'est le premier paramètre à connaître car obligatoire pour démarrer proprement un client en mode console, à compter de la version 6. Il permet de configurer le client et d'accéder aux options avancées nécessitant une relance de la console. A la fin de la configuration, la fenêtre se ferme automatiquement.

 

-config : c'est un paramètre que nous allons utiliser pour accéder à une reconfiguration du client (changement ou correction du pseudo, de la team, etc) sans que nous ayons besoin de modifier les éléments de la ligne Additional client parameters, car cela nécessiterait une relance de la console.

 

-help : permet d'afficher la liste des paramètres.

 

-queueinfo : affiche la file d'attente (queue) des 10 positions et leur état (Empty : vide - Ready : l'unité est en cours de traitement - Finished : unité terminée en attente d'envoi sur les serveurs de Stanford).

 

-send X : X étant le numéro dans la queue, permet de forcer l'envoi immédiat de l'unité terminée. Après trois essais, même infructueux, la fenêtre se ferme automatiquement, sans reprendre le traitement d'une unité éventuellement en cours. Pour vérifier que l'unité a bien été envoyée, il y a lieu de lire le fichier FAHlog.txt.

 

-send all : force l'envoi de toutes les unités terminées. Après trois essais, même infructueux, la fenêtre se ferme automatiquement, sans reprendre le traitement d'une unité éventuellement en cours. Pour vérifier que l'unité a bien été envoyée, il y a lieu de lire le fichier FAHlog.txt.

 

-delete X : supprime l'unité concernée dans la position de la queue. Il est préférable et plus efficace, en cas d'un gros problème, de supprimer le dossier work et le fichier queue.dat qui se trouvent dans le dossier du client concerné.

 

-pause : dès que le traitement de l'unité de travail est terminée, le programme tente d'envoyer les résultats à trois reprises et aucune autre unité n'est téléchargée. La console reste ouverte et il est proposé de continuer ou de fermer.

 

-oneunit : identique au paramètre -pause mais la fermeture de la console est automatique après les trois tentatives d'envoi du résultat (réussies ou non). Le gros désavantage est qu'on ne peut pas voir si le programme a bien réussi à envoyer les résultats, sauf à le vérifier dans le fichier FAHlog.txt présent dans le dossier du client concerné.

Les paramètres permanents

-smp : paramètre obligatoire pour fonctionner en mode SMP sous Windows et Linux, sinon le client fonctionnera comme un client classique pour processeur monocore avec des unités de travail classiques. Il permet de détecter automatiquement jusqu'à 32 cores.

Client SMP Windows : à mettre dans la fenêtre de configuration sur la ligne Additional client parameters

Client SMP Linux 6.02 : à inscrire en ligne de commande dans le Terminal : ./fah6 -smp

Client SMP Linux 6.29 : à mettre dans la fenêtre de configuration sur la ligne Additional client parameters

 

-smp -bigadv : ces deux paramètres fonctionnent ensemble et permettent de transformer le client SMP standard en client spécial SMP BigAdv, spécifique aux machines avec un minimum de 8 cores (physiques ou logiques).

Client SMP Windows : à mettre dans la fenêtre de configuration sur la ligne Additional client parameters

Client SMP Linux 6.02 : à inscrire en ligne de commande dans le Terminal : ./fah6 -smp -bigadv

Client SMP Linux 6.29 : à mettre dans la fenêtre de configuration sur la ligne Additional client parameters

 

-gpu X : ce paramètre concerne l'utilisation d'une ou plusieurs cartes graphiques pour plier. Si nous avons une seule carte graphique dans notre ordinateur et que nous nous en servons pour plier, il n'est pas nécessaire d'utiliser ce paramètre. Si nous avons deux cartes et que nous n'en utilisons qu'une seule pour plier, nous devons lui affecter un numéro. Et si nous plions avec plusieurs cartes, il sera également obligatoire de leur affecter un numéro à chacune d'elles. Les numéros commencent par 0, c'est-à-dire que la première carte aura le paramètre -gpu 0 et la deuxième le paramètre -gpu 1, etc...

Client GPU Windows : à mettre dans la fenêtre de configuration sur la ligne Additional client parameters

 

-forcegpu ati_r600 : permet de forcer le programme FAH à « reconnaître » la puce graphique des cartes vidéo ATI 3xxx series

Sous Windows : à mettre dans la fenêtre de configuration sur la ligne Additional client parameters

 

-forcegpu ati_r700 : permet de forcer le programme FAH à « reconnaître » la puce graphique des cartes vidéo ATI 4xxx series

Sous Windows : à mettre dans la fenêtre de configuration sur la ligne Additional client parameters

 

-forcegpu ati_r800 : permet de forcer le programme FAH à « reconnaître » la puce graphique des cartes vidéo ATI 5xxx series

Sous Windows : à mettre dans la fenêtre de configuration sur la ligne Additional client parameters

 

-forcegpu nvidia_g80 : permet de forcer le programme FAH à « reconnaître » la puce graphique des cartes vidéo nVidia 8x, 9x, 2xx series

Sous Windows : à mettre dans la fenêtre de configuration sur la ligne Additional client parameters

 

-forcegpu nvidia_fermi : permet de forcer le programme FAH à « reconnaître » la puce graphique des cartes vidéo nVidia GTX 4xx series

Sous Windows : à mettre dans la fenêtre de configuration sur la ligne Additional client parameters

 

-verbosity X : permet de régler le niveau des informations qui seront présentées à l'écran ou mentionnées dans le fichier FAHlog.txt. Par défaut, le niveau est 3 mais nous pouvons le porter à son maximum qui est 9, afin d'avoir toutes les informations disponibles, en vue d'une meilleure compréhension lorsqu'un problème survient.

Client classique Windows 5.04 : à mettre dans la cible du raccourci pour un mode console (non configuré en tant que service)
Clients System tray (graphique), l'onglet Advanced permet d'entrer manuellement -verbosity X sur la ligne Additional client parameters

Client Linux 6.02 : à inscrire en ligne de commande dans le Terminal : ./fah6 -verbosity 9 (pour mode uniprocesseur) ou ./fah6 -smp -verbosity 9 (pour mode SMP)

Tous les autres clients Windows et Linux : à mettre dans la fenêtre de configuration sur la ligne Additional client parameters

 

-advmethods : permet d'avoir des cores en bêta test public ou des unités de travail expérimentales, afin d'aider Stanford dans la mise au point de certains projets. Les unités brutes obtenues ou le nouveau fahcore en test peuvent être instables, c'est pourquoi les unités sont en principe mieux rétribuées.

Pour les clients « console », à partir de la version 5.04 et a fortiori tous les clients version 6, une ligne particulière de la fenêtre de configuration invite à accepter ou refuser cette option. Il n'est donc plus nécessaire d'inscrire ce paramètre nulle part ailleurs (cible du raccourci, par exemple).

Pour les clients System tray (graphique), l'onglet Advanced permet d'entrer manuellement -advmethods sur la ligne Additional client parameters.

 

-local : utile, afin d'éviter les sources de conflits, lorsqu'on a installé plusieurs clients sur le même ordinateur. Ce paramètre est vital jusqu'aux clients de la version 5 (dont 5.04) mais devenu obsolète à partir des dernières révisions de la version 6.

Client classique Windows 5.04 : à mettre dans la cible du raccourci pour le mode console (non configuré en tant que service)

Tous les clients V6 : aucune utilité

 

-forceasm : force le client à utiliser toutes les optimisations du processeur, tels SSE et 3DNow, si disponibles. Par défaut, le client utilise toutes les optimisations prévues dans le programme de calcul et supportées par le processeur. Cependant, en cas d'instabilité constatée et d'arrêt prématuré du traitement de l'unité, le client peut relancer le traitement sans les optimisations. Le contributeur qui est absolument certain que son ordinateur est parfaitement stable peut utiliser le paramètre -forceasm.

Client classique Windows 5.04 : à mettre dans la cible du raccourci pour le mode console (non configuré en tant que service)

Tous les clients V6 : à mettre dans la fenêtre de configuration sur la ligne Additional client parameters

Client GPU : aucune utilité

Version console configurée en tant que service sous Windows

Nous pouvons avoir besoin d'arrêter le client pour une raison quelconque, pour lancer une exécution ponctuelle ou pour le reconfigurer. Jusqu'à un certain stade, la procédure est identique et ne présente aucun risque. Nous traiterons ici des clients version console configurée en tant que service à partir de la version 6, ne nécessitant alors plus l'ouverture de la base de registre, procédure dont le risque est grand de mettre en danger l'intégrité du système si l'utilisateur n'en est pas familier.

 

Plusieurs méthodes peuvent être utilisées. Voici l'une d'elles :

 

1 - Sous XP, nous cliquons sur Démarrer/Exécuter et entrons services.msc, puis cliquons sur OK. Sous Vista ou 7, nous pressons simultanément sur le logo Windows du clavier et la touche « r », puis entrons services.msc, puis cliquons sur OK.

 

Image IPB

 

2 - Dans la fenêtre qui s'ouvre, nous recherchons et sélectionnons notre service FAH concerné avec le bouton droit de la souris et choisissons Arrêter le service situé dans la colonne de gauche. Le service (et donc le client) est arrêté.

 

Si nous souhaitons faire exécuter à notre client une opération ponctuelle (-pause par exemple), le reconfigurer (pseudo, team, etc), ou bien désactiver définitivement le mode service :

 

3 - Toujours dans la fenêtre des services, nous faisons un clic droit sur notre service FAH concerné et sélectionnons Propriétés

 

4 - Dans Type de démarrage, nous sélectionnons Désactivé.

Le client est maintenant en mode console simple.

 

5 - Créons un raccourci de l'exécutable et plaçons-le à portée de main, en vue de manipulation future toujours possible.

 

6 - Inscrivons le paramètre ponctuel souhaité dans la cible du raccourci ou bien -configonly dans le but de procéder à une reconfiguration du client.

 

Nous pouvons alors relancer le client en double-cliquant sur le raccourci. Dans le cas d'une reconfiguration, la fenêtre s'ouvre et nous pouvons y apporter des modifications (pseudo, team, etc.) et inscrire des paramètres permanents sur la ligne Additional client parameters.

 

Si nous avons choisi de basculer définitivement le client en version console simple (non configurée en tant que service), en mettant no à l'invite adéquate, nous avons terminé la procédure.

 

Si nous avons choisi de conserver le mode service (nous avons gardé yes à l'invite adéquate), nous devons exécuter la procédure inverse, c'est-à-dire redémarrer le service : dans la fenêtre des services, nous sélectionnons à nouveau le service FAH concerné et cliquons sur Démarrer le service, puis clic droit sur le service, sélection de Propriétés et dans Type de démarrage sélection de Automatique. Nous pouvons fermer la fenêtre des services. La procédure est terminée.

 

 

 

 

Haut de page

 

 

 

 

 

Pour être informé des derniers articles, inscrivez vous :

Commenter cet article