GoGPT Best VPN GoSearch

Icône de favori OnWorks

tricensus-mpi - En ligne dans le Cloud

Exécutez tricensus-mpi dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande tricensus-mpi qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


tricensus-mpi - Distribuer un recensement par triangulation entre plusieurs machines à l'aide de MPI

SYNOPSIS


tricensus-mpi [ -RÉ, --profondeur=niveaux ] [ -X, --exécution à sec ] [ -2, --dim2 ] [ -o, --orientable |
-n, --non orientable ] [ -F, --fini | -ré, --idéal ] [ -m, --minimal | -M, --minprime |
-N, --minprimep2 | -h, --minhyp ] [ -Oui, --sig ] fichier-paires préfixe-fichier-sortie

DESCRIPTION


Permet à plusieurs processus, s'exécutant éventuellement sur un cluster de machines différentes, de
collaborer à la formation d'un recensement de triangulations 3-variétés ou 2-variétés. Coordination
se fait via MPI (l'interface de transmission de messages), et l'ensemble du recensement est exécuté comme un
tâche MPI unique. Ce programme est bien adapté aux clusters hautes performances.

Le comportement par défaut consiste à énumérer les triangulations à 3 variétés. Si vous souhaitez énumérer
les triangulations à 2 collecteurs à la place, vous devez passer --dim2.

Pour préparer un recensement à répartir entre plusieurs processus ou machines, le recensement
doit être divisé en plus petits morceaux. Fonctionnement tricensus avec option --genpairs (lequel est
très rapide) va créer une liste de paires de visages, dont chacun doit être analysé afin de
terminer le recensement.

La liste complète des appariements de visages doit être stockée dans un seul fichier, qui est transmis au
ligne de commande comme fichier-paires. Ce fichier doit contenir un appariement de visages par ligne, et chacun des
ces paires de visages doivent être sous forme canonique (c'est-à-dire qu'elles doivent être un représentant minimal de
sa classe d'isomorphisme). Les appariements de visages générés par tricensus --genpairs sommes-nous
garantie de satisfaire à ces conditions.

Le site de tricensus-mpi L'utilitaire a deux modes de fonctionnement : le mode par défaut et le mode de recherche secondaire.
Ceux-ci sont expliqués séparément dans les modes de fonctionnement ci-dessous.

Dans les deux modes, un processus MPI agit en tant que contrôleur et les processus restants agissent tous
comme esclaves. Le contrôleur lit la liste des appariements de visages à partir de fichier-paires, construit un
série de tâches basées sur celles-ci, et confie ces tâches aux esclaves pour traitement.
Chaque esclave traite une tâche à la fois, demandant au contrôleur une nouvelle tâche lorsqu'elle est
fini avec le précédent.

À la fin de chaque tâche, si des triangulations ont été trouvées, l'esclave responsable
enregistrer ces triangulations dans un fichier de sortie. Le fichier de sortie aura un nom de la forme
préfixe-du-fichier-de-sortie_p.rga en mode par défaut ou préfixe-du-fichier-de-sortie_p-s.rga en mode sous-recherche.
Ici préfixe-fichier-sortie est passé sur la ligne de commande, p est le numéro de l'appariement de visage
en cours de traitement, et s est le numéro de la sous-recherche dans cette paire de visages (les deux visages
les appariements et les sous-recherches sont numérotés à partir de 1). Si aucune triangulation n'a été trouvée
alors l'esclave n'écrira aucun fichier de sortie.

Le contrôleur et les processus esclaves prennent tous la même tricensus-mpi options (hors MPI-
des options spécifiques, qui sont généralement fournies par un programme wrapper MPI tel que mpirun or
mpiexec). Les différents rôles des processus sont déterminés uniquement par leur processus MPI
rang (le contrôleur est toujours le processus de rang 0). Il devrait donc être possible
pour démarrer tous les processus MPI en exécutant une seule commande, comme illustré dans les exemples
ci-dessous.

Au fur et à mesure du recensement, le contrôleur tient un journal détaillé des activités de chaque esclave,
y compris combien de temps chaque tâche esclave a pris et combien de triangulations ont été trouvées.
Ce journal est écrit dans le fichier préfixe-fichier-sortie.log. L'utilité tricensus-mpi-statut
peut analyser ce journal et produire un résumé plus court lisible par l'homme.

Important: Il est très recommandé que vous utilisez le --sig option. Cela gardera
les fichiers de sortie sont petits et réduira considérablement l'empreinte mémoire de
tricensus-mpi elle-même.

MODES OF FONCTIONNEMENT


Comme indiqué ci-dessus, il existe deux modes de fonctionnement de base. Ce sont le mode par défaut (utilisé
quand --profondeur n'est pas passé) et le mode de sous-recherche (utilisé lorsque --profondeur est passé).

· Dans défaut mode, le contrôleur lit simplement la liste des appariements de visages et donne à chacun
appariement à un esclave pour le traitement, l'un après l'autre.

· Dans sous-recherche mode, plus de travail est poussé vers le contrôleur et les tâches esclaves sont
plus court. Ici, le contrôleur lit un appariement de visage à la fois et commence le traitement
cette paire de visages. Une profondeur fixe est fournie dans l'argument --profondeur; chaque fois que
la profondeur est atteinte dans l'arbre de recherche, la sous-recherche à partir de ce point est donnée en tant que tâche
au prochain esclave inactif. Pendant ce temps, le contrôleur fait marche arrière (comme si la sous-recherche
avait terminé) et continue, en cultivant la prochaine sous-recherche lorsque la profondeur donnée est
atteint à nouveau, et ainsi de suite.

Les modes peuvent être visualisés comme suit. Pour chaque appariement de visage, considérez le correspondant
recherche récursive comme un grand arbre de recherche. En mode par défaut, l'ensemble de l'arbre est traité à
une fois en tant que tâche esclave unique. En mode sous-recherche, chaque sous-arbre enraciné à la profondeur donnée est
traité comme une tâche esclave séparée (et tout le traitement entre la racine et le
profondeur est effectuée par le contrôleur).

La principale différence entre les différents modes de fonctionnement réside dans les longueurs de l'esclave
tâches, qui peuvent avoir divers effets.

· En mode par défaut, les tâches esclaves sont assez longues. Cela signifie que la parallélisation peut
devenus très pauvres vers la fin du recensement, certains esclaves étant restés inactifs pendant une longue période
temps en attendant que les esclaves restants finissent.

· Au fur et à mesure que nous passons au mode de recherche secondaire avec une profondeur croissante, les tâches esclaves deviennent plus courtes et
les temps d'arrivée des esclaves seront plus rapprochés (évitant ainsi l'esclave inactif
l'inefficacité décrite ci-dessus). De plus, avec une sous-recherche plus affinée, la progression
les informations stockées dans le journal seront plus détaillées, donnant une meilleure idée de la durée
le recensement doit partir. D'un autre côté, plus de travail est poussé vers le processus unique
contrôleur (risque de goulot d'étranglement si la profondeur est trop grande, avec des esclaves maintenant inactifs
en attendant de nouvelles tâches). De plus, le surcoût MPI est plus important et le nombre de
les fichiers de sortie peuvent devenir extrêmement volumineux.

En fin de compte, l'expérimentation est le meilleur moyen de décider s'il faut s'exécuter en mode sous-recherche et
à quelle profondeur. Soyez conscient de l'option --exécution à sec, qui peut donner un aperçu rapide de la
espace de recherche (et en particulier, montrer combien de sous-recherches sont nécessaires pour chaque visage
appariement à une profondeur donnée).

OPTIONS


Les options de recensement acceptées par tricensus-mpi sont identiques aux options de tricensus
Voir le tricensus référence pour plus de détails.

Quelques options de tricensus ne sont pas disponibles ici (par exemple, les tétraèdres et les limites
options), car celles-ci doivent être fournies plus tôt lors de la génération de la liste initiale des visages
appariements.

Il existe de nouvelles options spécifiques à tricensus-mpi, qui sont les suivants.

-RÉ, --profondeur=niveaux
Indique que le mode de recherche secondaire doit être utilisé (au lieu du mode par défaut). Les
argument niveaux spécifie à quelle profondeur dans l'arbre de recherche le traitement doit passer
du contrôleur à une nouvelle tâche esclave.

La profondeur donnée doit être strictement positive (courir à la profondeur zéro équivaut à
fonctionnant en mode par défaut).

Voir la section modes de fonctionnement ci-dessus pour plus d'informations, ainsi que des conseils
sur le choix d'un bon rapport qualité-prix niveaux.

-X, --exécution à sec
Spécifie qu'un essai rapide doit être effectué, au lieu d'un recensement complet.

Dans un essai à sec, chaque fois qu'un esclave accepte une tâche, il la marquera immédiatement comme
terminé sans aucune triangulation trouvée. Le comportement du contrôleur reste
inchangé.

Le résultat sera un recensement vide. L'avantage d'un essai à sec est le fichier journal qu'il
produit, qui montrera précisément comment les paires de visages seraient divisées en
sous-recherches dans un véritable recensement. En particulier, le fichier journal indiquera combien de
sous-recherches que chaque appariement de visage produit (l'utilitaire tricensus-mpi-statut peut aider
extraire ces informations du journal).

À de petites profondeurs de recherche, un essai à sec devrait être extrêmement rapide. Comme la profondeur
augmente cependant, la marche à vide deviendra plus lente en raison du travail supplémentaire donné à
le controlle.

Cette option n'est utile qu'en mode sous-recherche (elle peut être utilisée en mode par défaut, mais
les résultats sont inintéressants). Voir la section modes de fonctionnement ci-dessus pour
plus de détails.

EXEMPLES


Supposons que nous souhaitions former un recensement de tous les 6 tétraèdres fermés non orientables
triangulations, optimisées pour les triangulations P2-irréductibles minimales premières (donc certaines non-
les triangulations premières, non minimales ou non P2-irréductibles peuvent être omises).

On commence par utiliser tricensus pour générer une liste complète des paires de visages.

exemple$ tricensus --genpairs -t 6 -i > 6. paires
Couples de visages totaux : 97
exemple$

Nous utilisons maintenant tricensus-mpi pour exécuter le recensement distribué. Un programme wrapper tel que mpirun
or mpiexec peut généralement être utilisé pour démarrer les processus MPI, bien que cela dépende de votre
implémentation MPI spécifique. La commande suivante exécute un recensement distribué sur 10
processeurs utilisant l'implémentation MPICH de MPI.

exemple$ mpirun -np 10 /usr/bin/tricensus-mpi -Nnf 6. paires 6-ni
exemple$

L'état actuel du traitement est conservé dans le journal du contrôleur 6-nor.log. Tu peux regarder
ce journal avec l'aide de tricensus-mpi-statut.

exemple$ tricensus-mpi-statut 6-nor.log
Jumelage 1 : fait, 0 trouvé
...
Jumelage 85 : fait, 0 trouvé
Jumelage 86 : fait, 7 trouvé
Jumelage 87 : courir
Jumelage 88 : courir
Toujours en cours, 15 trouvés, dernière activité : mer. 10 juin 05:57:34 2009
exemple$

Une fois le recensement terminé, les triangulations résultantes seront enregistrées dans des fichiers tels que
6-nor_8.rga, 6-nor_86.rga etc.

MACOS X ET FENÊTRES UTILISATEURS


Cet utilitaire n'est pas fourni avec l'ensemble d'applications glisser-déposer pour MacOS X ou avec le
Windows installateur

Utiliser tricensus-mpi en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad




×
Publicité
❤ ️Achetez, réservez ou achetez ici — gratuitement, contribue à maintenir la gratuité des services.