{{tag>Bionic Eoan calcul_collaboratif BROUILLON}}
----
====== Boinc : calculs distribués sur Internet ======
{{ :applications..boinc_logo_july_2007.png|}}
**BOINC**, acronyme de **B**erkeley **O**pen **I**nfrastructure for **N**etwork **C**omputing est une plate-forme de calcul distribué mise au point par l'université de Berkeley. Ce programme permet à n'importe quelle personne volontaire de participer à des projets scientifiques en mettant à disposition la puissance de calcul inutilisée de son ordinateur au profit de la science. Différents projets de calculs sont en cours d'avancement, vous pouvez rejoindre ceux de votre choix à tous moments.
Il n'y a pas de configuration minimale, n'importe quelle ordinateur est capable de faire tourner ce logiciel. Les résultats dépendront seulement de la puissance de calcul de votre processeur.
===== Pré-requis =====
* Disposer des [[:sudo|droits d'administration]].
* Disposer d'une connexion à Internet configurée et activée.
===== Installation =====
==== Depuis les dépôts ====
**Méthode conseillée.**
\\ Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>boinc]]**
\\ Ce paquet comprend le client BOINC, c'est à dire le programme qui va faire les calculs, et l'interface graphique de commande BOINC Manager.
\\ Ils sont installés dans le répertoire usr/bin/
==== Depuis les sources ====
Bien que ceci soit conseillé sur leur site et proposé sur leur [[https://boinc.berkeley.edu/download.php|page]], la version disponible en 2020 est complètement obsolète et son installation n'est pas fonctionnelle par manque d'une librairie (libwebkitgtk-1.0-0).
\\ Vous pouvez vérifier les versions disponibles ainsi que leurs dates de publication sur la page [[https://boinc.berkeley.edu/download_all.php]]
\\ Les détails d'installation sont données sur cette [[https://boinc.berkeley.edu/wiki/Installing_BOINC#Ubuntu|page]].
* Déplacer le script dans un dossier //mes logiciels//, pour l'exemple ici il s'agira de //~/bin//((~ étant votre Dossier Personnel))
* Ne créez pas de sous-dossier //boinc//, le script d'installation s'en occupera tout seul.
* Ensuite depuis un [[:terminal]] saisissez les [[:commande_shell|commandes]] suivantes : cd ~/bin
sh boinc_7.4.22_x86_64-pc-linux-gnu.sh
(à adapter au nom du script téléchargé)
* Si l'installation s'est bien déroulée un nouveau dossier est créé dans votre dossier ~/bin, il s'agit de "BOINC"
* Allez dans ce dossier pour lancez l'interface de configuration cd ~/bin/BOINC
./run_manager
==== Projets 32 bits sur machine 64 bits ====
Des précisions supplémentaires sont données sur la [[https://boinc.berkeley.edu/wiki/Installing_BOINC#Ubuntu_2|page]] pour le calcul de projets 32 bits alors que votre machine est installée avec un système 64 bits : des bibliothèques supplémentaires sont à installer.
===== Rejoindre un projet =====
De nombreux projets sont proposés pour Boinc dans les domaines biologique, physique, nanotechnologique, astronomique, climatologique, mathématique, informatique... Voir [[http://fr.wikipedia.org/wiki/Liste_des_projets_BOINC|la liste des projets]].
Voici un exemple d'[[:tutoriel:boinc_covid19|installation et configuration pour contribuer à une recherche sur COVID-19]]
Pour rejoindre un projet, lancez l'application **Boinc Manager**.{{ :utilisateurs:arverne73:boinc_eoan_2.png?direct&300|}}
Une fenêtre devrait vous proposer de rejoindre un projet. Si ce n'est pas le cas, cliquez sur "Outils" -> "Ajouter un projet".
Sélectionnez le projet que vous voulez rejoindre dans la liste qui apparaîtra, et cliquez sur "Suivant".
Ensuite, cliquez sur: "Non, nouvel utilisateur" puis laissez-vous guider afin de vous inscrire au projet.
Finalement, un message vous confirmant l'attachement au projet devrait apparaître: cliquez sur "Fin".
Boinc va maintenant récupérer des calculs puis va commencer à les exécuter. Vous n'avez même pas besoin d'être connecté à internet pour que Boinc fonctionne. Il vous faut être connecté afin qu'il envoie les résultats et qu'il reçoive de nouveaux calculs.
===== Utilisation =====
Une fois installé, le logiciel **BOINC Manager** permet de contrôler le client BOINC. Il est accessible dans les applications. Ce n'est qu'une application de contrôle ; le client BOINC qui fait les calculs, fonctionne indépendamment de cette interface une fois qu'un projet a été défini. {{ :utilisateurs:arverne73:boinc_eoan_1.png?direct&300|}}
Notez bien que le client se lance automatiquement au démarrage d'Ubuntu. Il se comporte comme un [[:services|service]] (DAEMON).
==== Mettre Boinc en "pause" ====
Lorsque vous voulez faire faire une pause à Boinc afin d'exécuter un programme gourmand en ressource, cliquez sur le bouton "Suspendre". Le bouton "Reprendre" relance les calculs.
==== Les menus sous Boinc ====
La configuration de Boinc est relativement simple. \\ La fenêtre de **Boinc Manager** a deux présentations différentes : une vue "simple" comme ci-contre, et une vue "avancée" offrant un affichage et des menus plus détaillés. C'est dans cette vue avancée que vous pouvez suivre les téléchargements initiaux (onglet Transferts) puis l'avancée des différents calculs (onglet Tâches). Ce mode d'affichage est sélectionné dans le menu Affichage. \\ Voici un aperçu du contenu des menus.
* Fichier : permet de fermer le manager. Attention, fermer Boinc Manager n'arrête pas les processus de calculs ouverts par Boinc sauf si vous le demandez dans la boite de dialogue qui apparaît lorsque vous avez choisi Fermer.
* Affichage : il vous permet de basculer entre la vue "simple" et la vue "avancée" plus descriptive.
* Options : en vue "avancée", permet des réglages importants notamment sur l'occupation des processeurs, du disque système et du réseau. BOINC est très gourmand par défaut, utilisant 100% des processeurs, tout le disque, etc. Votre machine risque de devenir bruyante, chauffer... Néanmoins, il tient compte de votre propre activité sur le poste. Vous pouvez moduler cela ici.
* Outils : permet de gérer vos comptes ou de rejoindre un nouveau projet.
* Activité : seulement visible en vue "avancée", il permet de choisir l'activité du processeur ou l'activité réseau.
==== Calculs avec le GPU =====
Si vous avez une carte graphique **Nvidia CUDA** ou **ATI Stream**, vous pouviez l'utiliser pour calculer plus rapidement. Vous deviez disposer d'une version de Boinc supérieure à 6.3 (Octobre 2008). Consultez au passage la [[http://boinc.berkeley.edu/wiki/GPU_computing#Attach_to_projects_with_GPU_applications|liste des projets supportant les calculs GPU]].
Ceci ne semble plus d'actualité.
===== Comment quitter BOINC =====
Boinc est un DAEMON. Si vous avez besoin d'arrêter votre ordinateur, faites-le. Au prochain démarrage, Boinc continuera les calculs qu'il effectuait avant l'arrêt sans problème. \\ Pour empêcher cela décochez "Exécuter le client" dans le menu Options / Autres options, en vue "Simple". \\ Pour suspendre le travail de BOINC, utiliser le bouton "Suspendre" dans le manager.
\\ Comme nous l'avons déjà cité, pour arrêter les calculs lorsque vous fermez Boinc Manager, cochez la case correspondante dans la boite de dialogue qui s'est affichée.
===== Ligne de commande =====
==== La doc ====
La commande **boinccmd** correspond aux instructions que l'on peut donner par Boinc Manager. Elles sont décrites sur [[http://boinc.berkeley.edu/wiki/Boinccmd_tool|cette page]] ou simplement dans le manuel :
man boinccmd
Certaines commandes ne sont autorisées que si vous vous placez dans le répertoire de l'application BOINC (/var/bin/ par défaut).
La commande **boinc** correspond au client Boinc lui-même. Elle est aussi décrite dans :
man boinc
==== Exemples ====
=== Connaître la version ===
boinccmd -V
=== Modifier le répertoire de travail du client ===
Ceci peut être utile pour utiliser un disque ou une partition déterminée.
boinc --dir /chemin vers le répertoire/
=== Voir l'état de fonctionnement du client BOINC ===
/etc/init.d/boinc-client status
=== Arrêter le daemon===
sudo /etc/init.d/boinc-client stop
Relancer le daemon:
sudo /etc/init.d/boinc-client start
=== Dire au client BOINC de quitter ===
boinccmd --quit
=== Connaître l'"account key" de votre compte ===
boinccmd --lookup_account url_du_projet login mot_de_passe
Cela retourne l'"account key", une chaîne de 32 chiffres.
=== Rejoindre un projet ===
boinccmd --host localhost --project_attach URL_du_projet account_key
Voilà. Au bout de quelques minutes le travail devrait commencer. On peut avoir des infos via la commande
boinccmd --get_state
Il semble que parfois il faille "forcer" le départ via
boinccmd --set_run_mode always
===== Voir aussi =====
* Le site de Boinc (EN): [[http://boinc.berkeley.edu/]]
* Liste des projets : [[http://fr.wikipedia.org/wiki/Liste_des_projets_BOINC]]
* Le site de l'alliance francophone : [[http://www.boinc-af.org/]]
* La page sur [[:services|les services système]]
----
//Contributeurs : [[utilisateurs:gregm54]] [[utilisateurs:lo72]] [[utilisateurs:arverne73]]//