GPU3 Console Windows

Publié le par Cobra

Bienvenue dans le tutoriel consacré au client GPU3 Console pour Windows !

 

Sommaire du tutoriel


Introduction

Pendant longtemps, le CPU, processeur central de l'ordinateur, a traité seul la plupart des calculs liés aux opérations de physique, d'imagerie électronique, de prévision météo, de rendu pour les animations, d'encodage vidéo, etc, et aussi de... modélisation moléculaire, comme pour notre projet Folding@home. L'apparition et le développement du GPGPU ont apporté une puissance de calcul phénoménale bien supérieure à celle des processeurs d'ordinateurs personnels les plus puissants. Le General-Purpose computing on Graphic Processing Units, c'est-à-dire « calcul générique sur un processeur graphique », est devenu une pièce maîtresse du projet FAH qui peut s'attaquer désormais aux problèmes davantage complexes des maladies neurodégénératives, telles la maladie d'Alzheimer, la maladie de Creutzfeldt-Jacob, etc.

 

Après un rodage avec le client GPU1, développé uniquement pour les cartes ATI, les chercheurs de Stanford, associés aux ingénieurs des deux fabricants ATI et nVidia, ont mis au point le client GPU2 encore pleinement fonctionnel et performant.

 

Ce client GPU3 est la troisième génération de clients pour cartes graphiques. Il introduit un nouveau noyau de calcul (FahCore_15), basé sur une nouvelle librairie (OpenMM). GPU3 se veut évolutif, plus rapide, et permet la réalisation de modèles de simulation plus précis, améliorant ainsi les résultats scientifiques.

 

Mais le client GPU3 est réservé aux cartes graphiques nVidia. Les cartes ATI ne sont donc pas concernées, même si certaines d'entre elles peuvent techniquement utiliser ce client, mais ce serait sans aucun avantage pour le plieur ni pour la science, car le core OpenMM ne leur est pas accessible, et aucun projet GPU3 n'est mis en ligne spécialement pour elles.

 

La plupart des cartes nVidia supportant CUDA peuvent utiliser le client GPU3 :

  • Ce client est obligatoire pour les cartes Fermi (p. ex. les GeForce à partir de la série 4xx). Des projets, avec le nouveau noyau OpenMM, leur sont exclusivement réservés.
  • Les possesseurs de cartes nVidia non-Fermi (p. ex. les GeForce 8, 9, 2xx ) peuvent également utiliser le client GPU3. Avec ce nouveau client, ces cartes nVidia non-Fermi travaillent sur les projets qui leur sont propres habituellement (GROGPU2), jusqu'à leur extinction future, et sur les projets mis en ligne spécialement pour elles, avec le nouveau noyau OpenMM. Mais notons qu'à l'heure où ce tutoriel est rédigé, ce client n'est pas encore obligatoire pour ce type de cartes.

Les pré-requis

  • Cartes graphiques concernées : Geforce, Tesla, Quadro supportant CUDA
  • Systèmes d'exploitation : Windows XP, Windows Vista, Windows 7 (32/64 bits pour tous)
  • Pour XP, le Service Pack 3 (SP3) est fortement recommandé
  • Drivers : 197.45 WHQL (ou supérieur) pour les cartes non-Fermi, 258.96 WHQL (ou supérieur) pour les cartes Fermi. Pour une mise à jour spécifique des pilotes, rendez-vous sur le sélecteur officiel de drivers !
  • Une connexion internet est nécessaire.

Téléchargement du client

Le client GPU3 version console ne se trouve pas encore sur la page habituelle des téléchargements. Il faut se rendre sur le forum officiel de Stanford, et télécharger le client : choisissons la version console correspondant à notre système d'exploitation !

Installation/configuration du client

1 - Pour éviter tout conflit avec les droits et autorisations, ainsi que d'autres soucis de sécurité, surtout sous Windows Vista et Windows 7, prenons l'habitude d'installer nos clients directement à la racine du disque (C:\ ou autre), dans un dossier spécifique que nous créons, par exemple « GPU », ce qui donne l'image suivante (sous Windows 7) :

 

 

2 - Ensuite, glissons le client que nous avons téléchargé dans le dossier GPU créé :

 

 

3 - Nous dézippons et un dossier « Folding@home-Win32-GPU_Vista-631 » (ou XP selon l'OS) est créé automatiquement avec une série de fichiers, nécessaires au bon fonctionnement du client :

 

 

4 - Nous créons un raccourci de l'exécutable « Folding@home-Win32-GPU », en vue d'une utilisation en mode « console », pour la commodité de lancement et d'éventuelles modifications de configuration dans l'avenir. Plaçons-le, par exemple, sur notre bureau, pour l'avoir à portée de main. Nous pouvons, si nous le souhaitons, le renommer à notre convenance :

 

 

5 - Inscrivons le paramètre -configonly dans la cible du raccourci (clic droit sur le raccourci, et sélection de « Propriétés », et n'omettons pas un espace devant le tiret de -configonly !) :

 

 

6 - Après avoir validé par OK, double-cliquons sur le raccourci pour ouvrir la fenêtre de configuration que l'on nomme habituellement « console » :

 

 

Le client attend que nous entrions les éléments de configuration. La progression se fera ligne après ligne. Les réponses aux questions sont suggérées entre les [crochets]. Chaque fois que nous serons d'accord sur une proposition par défaut, nous pourrons tout simplement presser sur la touche « Entrée ».

 

 

User name [Anonymous]?

Nous entrons ici notre pseudo de plieur.

 

Team Number [0]?

Stanford a attribué le numéro 51 à l'équipe Alliance Francophone, nous devons entrer 51.

 

Passkey []?

Le passkey n'est pas obligatoire, pour l'instant. On le demande à Stanford et il nous est envoyé par mail.

Pour des infos sur ce passkey et comment l'obtenir :  

http://folding.stanford.edu/English/FAQ-v6#ntoc3  

http://fah-web.stanford.edu/cgi-bin/getpasskey.py  

 

Ask before fetching/sending work <no/yes> [no]?

Si nous avons une connexion permanente à internet, nous répondons no, sinon yes. Si nous répondons yes, lorsque le traitement sera achevé et que le client aura besoin de se connecter, il nous le demandera par l'affichage d'une petite fenêtre.  

 

Use proxy <yes/no> [no]?

Rares sont les particuliers qui utilisent un proxy, répondons no ! Mais si nous en utilisons un (vu dans Options Internet), répondons yes et renseignons les demandes d'information relative au proxy.  

 

Acceptable size of work assignment an work result packets...

Si nous avons une connexion internet 56k, inscrivons small ! Si nous avons une connexion haut débit et suffisamment de mémoire, inscrivons normal ou big. Avec big, il nous sera attribué de plus grosses protéines, utilisant un peu plus de mémoire vive, et rapportant plus de points.  

 

Change advanced options <yes/no> [no]?

Nous inscrivons yes pour avoir accès à la configuration avancée.  

 

Core Priority <idle/low> [idle]?

idle si on utilise uniquement le client GPU et qu'il n'y a pas un programme qui tourne en arrière-plan. low si on utilise en parallèle un autre client Folding ou qu'un autre programme tourne en arrière-plan. Cela est la théorie, mais il est fortement recommandé de mettre low !  

 

CPU usage requested <5-100> [100]?

100 % est la valeur par défaut et il n'est pas nécessaire de la modifier, le client FAH puisant dans les cycles CPU non utilisés par les autres programmes, d'autant plus que le client GPU utilise très peu de CPU.  

 

Disable highly optimized assembly code <no/yes> [no]?

Il est bien sûr préférable que les optimisations soient activées. Il n'y a donc pas lieu de les désactiver, nous laissons no.  

 

Pause if battery power is being used <useful for laptops> <no/yes> [no]?

Laissons no par défaut ! Sinon plantage potentiel...  

 

Interval, in minutes, between checkpoints <3/30> [15]?

Le programme fera périodiquement une sauvegarde, en plus de la sauvegarde réalisée à chaque pourcent. Nous pouvons laisser 15 mn par défaut.  

 

Memory, in MB, to indicate...

C'est la mémoire que nous allouons au programme, ce qui ne veut pas dire qu'il va vraiment s'en servir dans la totalité. Actuellement elle est loin d'atteindre 512 Mo, sauf pour le client SMP BigAdv. Nous pouvons laisser tel quel.  

 

Set -advmethods flag always...

Nous inscrivons yes pour aider les chercheurs à tester un nouveau core ou tenter d’avoir des unités expérimentales à plus fort rendement de points, mais il est à noter que le risque d’instabilité est plus important. Si nous ne voulons pas courir ce risque, nous laissons tel quel.  

 

Ignore any deadline information...

Nous laissons no par défaut.  

 

Machine ID <1-16> [2]?

C'est le numéro attribué par défaut, nous pouvons le garder si nous ne l'avons pas déjà affecté à un autre client installé sur le même ordinateur. Ce numéro est très important. Si nous avons plusieurs clients sur le même ordinateur, nous devons préciser un numéro différent par client.

 

Launch automatically, install as a service in this directory <yes/no> [no]?

Le mode service permet au client de démarrer en même temps que l'ordinateur, et de se fermer automatiquement à l'extinction de l'ordinateur. Pour ceux qui souhaiteraient utiliser ce genre de fonction, il y a un client spécifique qui s'appelle « System tray » ou « Systray » ou « graphique » qui est bien plus ergonomique. Nous laissons donc no.  

 

Disable CPU affinity lock <no/yes> [no]?

Nous pouvons laisser sur no par défaut.

 

Additional client parameters []?

Il est recommandé de mettre le paramètre -verbosity 9. Il permet de régler le niveau des informations qui seront présentées à l'écran ou mentionnées dans le Fahlog.txt. Par défaut, le niveau est 3 mais il est plus intéressant de 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. Si nous avons une seule carte graphique dans notre ordinateur, aucun paramètre spécifique gpu x n'est nécessaire. Par contre, si plusieurs cartes graphiques cohabitent, une procédure et des paramètres spéciaux peuvent être obligatoires. Un chapitre est réservé au multi-GPU, à la fin de ce tutoriel.

 

IP address to bind core to <for viewer> []?

Cela est pour le futur, nous pouvons presser sur la touche « Entrée ».

 

La procédure de configuration est terminée et la console se ferme automatiquement.

 

7 - Supprimons le paramètre -configonly que nous avons inscrit dans la cible du raccourci ! 9 - Double-cliquons à nouveau sur le raccourci et la console s'ouvrira ! Le logiciel client télécharge le logiciel de calcul (FahCore) et l'unité brute. Il se peut que la Sécurité Windows nous alerte :

 

 

Nous autorisons l'exécution du programme.

 

 

Et le traitement démarre... pourcentage par pourcentage jusqu'à 100 %, puis les résultats sont envoyés sur les serveurs de Stanford. Et une autre unité de travail est téléchargée automatiquement pour traitement, et ainsi de suite...

Particularités du multi-GPU

Nous pouvons faire plier plusieurs cartes graphiques installées dans un même ordinateur. Un seul client pliant en SLI ou en CrossFire, comme un super GPU, n'est pas possible. Chaque carte aura son propre client, donc autant de cartes, autant de clients.

 

Le SLI et CrossFire n'ont pas besoin d'être désactivés, mais le bureau Windows doit ête étendu, afin que chaque carte soit « vue » par son propre moniteur. Sous XP, en principe, un seul moniteur suffit, mais sous Windows Vista et 7, il est nécessaire que chaque carte soit reliée à un moniteur ou un dummy plug. Chaque client doit être installé, conformément au tutoriel ci-dessus, mais en respectant les particularités ci-après :

  • Un dossier par client
  • Sur la ligne de configuration Machine ID, mention d'un numéro différent par client
  • Sur la ligne de configuration Additionnal client parameters, mention du paramètre -gpu 0 pour la première carte, du paramètre -gpu 1 pour la deuxième carte, et éventuellement -gpu 2 pour la troisième, etc...

Remarques basiques sur la console

  • Pour minimiser la console ouverte, nous cliquons sur le symbole habituel pour minimiser une fenêtre.
  • Pour fermer proprement une console, elle doit être active et nous faisons tout simplement un Ctrl+c.
  • Pour la lancer ou relancer, nous double-cliquons sur le raccourci.
  • La prise en compte des modifications ou compléments sur la ligne Additionnal client parameters nécessite le redémarrage du client. C'est pourquoi il y a lieu d'uliliser le paramètre -configonly qui fermera automatiquement la console, une fois les corrections terminées, obligeant de ce fait l'utilisateur à relancer le client. Pour toute autre modification de la configuration, le paramètre -config suffit.

 

Pour plus d'informations sur les paramètres, voir Paramètres et conditions d'utilisation !

Remarques particulières pour le client GPU3

(en cours de complément)



Haut de page

 

 

 

 

 


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

Commenter cet article

Cobra 31/12/2010 06:50



Corrigé... merci turlup'



turlupin 22/11/2010 13:47



Salut mon ch'tit cobrazounet !


Désolé pour ma défection de dimanche !


 


J'ai commencé à lire le tuto, bien sûr, mais comme j'ai encore passé une nuit blanche je ne suis pas au mieux pour vérifier sérieusement les p'tits défauts inévitables.


Je peux quand même déjà te suggérer de signaler que F@H peut être installé sur un autre disque que C:


Dans mon cas c'est bien pratique puisque C: est un SSD et que le nombre d'écritures de F@H est simplement colossal. Comme la vitesse d'écriture et le temps d'accès ne sont pas critiques, un bon
vieux HDD s'en sort aussi bien.


J'ai aussi relevé une ch'tite faute et deux bricoles à améliorer :


"7 - Après avoir valider par OK, double-cliquons sur le raccourci"
Je te laisse le soin de corriger.



"Le client est en attente que nous entrions les éléments de configuration. La progression de la configuration se fera ligne après ligne."
Je te propose une version plus "élégante", "allégée" :


"Le client attend que nous entrions les éléments de configuration. La progression se fera ligne après ligne."


Voilà... je vais essayer de dormir un peu avant de reprendre la lecture et t'apporter ma petite contribution.


[img]http://www.smilies-and-more.de/pics/smilies/hands/004.gif[/img]