425 et suivants du code pénal. Ce document est fourni à titre d’information seulement. Il n’engage pas la responsabilité de Bull S.A. en cas de dommages résultant de son apllication. Des corrections ou modifications du contenu de ce document peuvent...
Table des matières CHAPITRE 1. NOTIONS GÉNÉRALES SUR LINUX HPC ............1-1 HPC (H ) .................1-1 ERFORMANCE OMPUTING 1.1.1 Définition de HPC........................1-1 1.1.2 Utilisation du HPC.......................1-1 LINUX............................1-1 1.2.1 Définition ..........................1-1 1.2.2 La petite histoire….......................1-2 1.2.3 LINUX et HPC ........................1-2 HPC ...........................1-4 LUSTER 1.3.1 Qu’est-ce qu’un cluster ? .....................1-4...
Page 6
’ RÉPARATION DE L ENVIRONNEMENT DE DÉVELOPPEMENT POUR UNE INSTALLATION ...............................4-5 MANUELLE CD B ....4-7 NSTALLATION MANUELLE DES COMPOSANTS LOGICIELS QUI SONT SUR LE .......................4-8 OMPILATEURS NTEL MPICH 1.2.5...........................4-12 ....................4-15 IBRAIRIES MATHÉMATIQUES 4.8.1 Libmkl ..........................4-15 4.8.2 FFTW ..........................4-17 4.8.3 PETSC..........................4-18 HPL............................4-23 4.10 LAM_MPI 6.5.9 ........................4-30...
Le chapitre 3 décrit l’installation d’un cluster. • Le chapitre 4 décrit l’installation de composants logiciels à partir du CD fourni par Bull ou à partir des sites des fournisseurs sur NovaScale 4040, NovaScale 5080 et NovaScale 5160. • Le chapitre 5 décrit la désinstallation des logiciels Intel soumis à licences.
Chapitre 1. Notions générales sur Linux HPC HPC (High Performance Computing) 1.1.1 Définition de HPC C’est ce qu’on appelle en français le calcul de haute performance. Ce terme définit les grosses applications scientifiques nécessitant une grande puissance de calcul, une grande précision des résultats et pouvant utiliser de très grandes quantités de données.
1.2.2 La petite histoire… Linux est un système d’exploitation conçu par Linus Torvalds, un étudiant finlandais. Le commencement de l’écriture du noyau eu lieu en 1991. La règle de base qui a prévalu tout au long de sa réalisation voulait que la licence soit ouverte.
Page 11
grandes entreprises emboîtent actuellement le pas des développeurs indépendants et proposent à leur tour des logiciels de qualité professionnelle en Open Source. Voici quelques uns des principes de l’Open Source et de la licence GPL : • Libre utilisation • Libre redistribution •...
Cluster HPC 1.3.1 Qu’est-ce qu’un cluster ? Un cluster est un ensemble de machines (appelée nœuds) connectées entre elles dans le but de remplir une fonction. Chaque nœud peut être monoprocesseur ou multiprocesseur SMP (multitraitement symétrique), les processeurs se partageant dans ce cas la mémoire et les disques. 1.3.2 Les grands types de cluster Cluster scientifique (HPC) : Le calcul est divisé...
CPUs, bande passante IO et de support pour la programmation parallèle. C’est pourquoi Bull le propose sur ces plates-formes SMP Itanium-2 4 voies (NovaScale 4040), 8 voies (NovaScale 5080) et 16 voies (NovaScale 5160) ainsi que sur des configurations « cluster » interconnectant des NovaScale 4040 pour accroître la capacité CPU.
Introduction Dans ce chapître est décrit un ensemble de logiciels constituant un environnement logiciel HPC pouvant être utilisé sur machines Bull. Sauf les logiciels dont le nom est souligné (qui sont des logiciels spécifiques clusters), l’ensemble des logiciels cités ci-dessous peut être utilisé sur une machine seule ou sur un cluster.
Parallel Instruction set Computing) qui permet l’exécution de plusieurs instructions en parallèle. Le parallélisme doit donc être détecté et exploité au niveau du compilateur. Pour ces raisons, Bull propose les compilateurs (C/C++ et Fortran) d’Intel dont les équipes disposent de toutes les compétences et les connaissances sur l’architecture pour fournir des produits performants.
• Optimisation du pipeline logiciel Ce compilateur est conforme au standard ISO Fortran 95. Il offre également une compatibilité avec les produits GNU : les outils emacs et gbd peuvent être utilisés avec ce compilateur. Il supporte aussi les fichiers codés en big endian. Enfin, ce compilateur permet le développement d’applications mixant des programmes écrits dans les langages C et Fortran.
Page 19
BLACS = Basic Linear Algebra Communication Subprograms Blacs est une bibliothèque de communications spécialisées (par passage de messages). Elle permet, après avoir défini une grille de processus, d’échanger des vecteurs ou matrices, des blocs... Elle peut être compilée au dessus de MPI ou de PVM.
Interdépendance entre les différentes librairies mathématiques standards Les routines des composantes locales sont appelées par un seul processus avec des arguments résidant en mémoire locale. Les routines des composantes globales sont synchrones et parallèles. Elles sont appelées avec des arguments qui sont des matrices ou des vecteurs distribués sur l’ensemble des processus.
Page 21
MPI = Message Passing Interface MPI repose sur le concept d’échange de messages. C’est une tentative de normalisation des bibliothèques de communication par passage de messages. C’est un standard qui possède à l'heure actuelle deux versions de ses spécifications : MPI-1 et MPI-2. La seconde version ajoute des directives pour les entrées/sorties parallèles (MPI-IO), l'interface C++ et le débogage parallèle.
Page 22
PVM = Parallel Virtual Machine www.csm.ornl.gov/pvm/pvm_home.html PVM est un logiciel, développé à Oak Ridge National Laboratory, qui permet d'utiliser un ensemble de stations de travail Unix reliées par un réseau comme une machine parallèle. PVM permet d'utiliser un ensemble de stations de travail Unix reliées par un réseau comme une machine parallèle.
Pour architecture parallèle à mémoire partagée OpenMP = Open Multi Processing www.openmp.org Défini par un groupe des plus importants fabricants de logiciels et matériels informatiques, OpenMP est une " interface de programmation " portable qui permet de faciliter le développement des applications parallèles pour machines à mémoire partagée.
Il y a aussi au-dessus de ces deux types de systèmes de fichiers, les systèmes de fichiers parallèlles qui répartissent les fichiers sur plusieurs disques parallèlisant ainsi l’accès à différentes parties du fichier. Les systèmes de fichiers locaux On peut séparer ces files systems en 2 groupes : les journalisés et les non journalisés.
Les systèmes de fichiers distribués Le calcul scientifique nécessite assez souvent d'avoir accès à des fichiers de données importants. Dès lors, le temps moyen d'accès au fichier va beaucoup influencer la vitesse d'exécution du programme. L'idéal serait d'avoir un programme s'exécutant sur une machine unique doté d'un disque dur à haute performance.
Page 26
Schéma montrant les Compute Nodes et les Storage Nodes Schéma montrant les accès pour les méta data de localisation des données, et les flux de data. Il montre le processus d’initialisation des transferts, suivi des transferts sans interférence avec le manager. Ce mécanisme permet d’obtenir de bonnes performances.
2.2.5 Les outils d’administration système Ce type d’outil est nécessaire même pour des machines qui ne sont pas en cluster. Ils servent par exemple au bon fonctionnement des machines, à la configuration des réseaux, à la gestion des utilisateurs … 2.2.5.1 Webmin Webmin possède une interface Web à...
Le démon Nagios de monitoring teste de façon intermittente des hôtes (serveurs) et des services tels que vous les avez définis, grâce à des ‘plugins’ externes. Ces plugins sont des programmes externes. Ces’ plugins’ renvoient des informations dites de ‘status’ à Nagios. Quand survient un problème, le démon peut aussi envoyer des notifications (alertes) à...
Page 29
Interface Web permettant d’accéder à la documentation sur Nagios (en anglais). Interface Web permettant de visualiser le statut courant du réseau: l’historique des notifications et problèmes, les fichiers logs Possibilité de prendre connaissance des problèmes via l’interface Web. Schéma d’architecture d’autorisations simple, vous permettant de définir les utilisateurs qui pourront voir et modifier des éléments grâce à...
2.2.5.5 Les Plugins 2.2.5.5.1 Principe Introduction Nagios ne dispose pas de mécanisme interne pour vérifier l'état d'un service, d'un hôte, etc. Il utilise des programmes externes (appelés plugins) pour exécuter les tâches d’exécution. Nagios exécutera ainsi un plugin dès qu'il aura besoin de tester un service ou un hôte qui est supervisé.
Page 31
Par exemple, si vous voulez savoir comment fonctionne le plugin check_http ou quels paramètres il accepte, vous devez essayer : soit : ./check_httpd --help soit : ./check_httpd --h Exemples de définition de commandes pour des services La distribution principale des plugins comprend un fichier de configuration (appelé...
2.2.6 Les outils d’administration cluster Les outils de contrôle et de monitoring De façon générale, ce genre d’outil a pour but de surveiller l’activité du cluster et son bon fonctionnement. Ils n’augmentent pas directement les possibilités des machines mais en facilitent la gestion. Voici ce que peut indiquer un outil de monitoring ou de contrôle : Est-ce qu’un nœud du cluster ne fonctionne pas ? Encombrement du réseau...
Exemple de sortie donnée par la commande top Les outils permettant de lancer une même commande sur plusieurs nœuds Ce qu’on appelle un shell distribué est indispensable pour l’utilisation d’un cluster. En effet, il y a toujours des instructions que l’on souhaite effectuer sur différents nœuds du cluster sans avoir pour autant besoin de le faire manuellement sur chacun des noeuds.
Le module ka-run de ce composant permet de lancer une commande sur les machines souhaitées. Gexec : Gexec propose la même fonctionnalité. C3 = Cluster Command and Control : C3 implémente un certain nombre de commandes pour aider à l’administration du cluster.
Le suivi de ces événements est particulièrement utile dans le cas de programmes importants comme des compilateurs, des benchmarks, ou de la modélisation de performance. 2.2.7.2 Quel outil dans quel cas ? 2.2.7.2.1 Dans le monde de l’open Source Toute une hiérarchie d’outils est opérationnelle •...
PAPI API : Interface http://icl.cs.utk.edu/projects/p Gestion des évènements programme intégrant la api/software/ hardware par appel à des bibliothèque de pfmon ( papi 2.3.4 fonctions spécifiques de libpfm) plus ou moins haut niveau, au choix. Permet un nombre de compteurs non limité, se place dans le code du programme aux endroits précis qui veulent être...
VAMPIR : VAMPIR est un outil graphique de profiling commercialisé par la société PALLAS. Il permet de visualiser et d’analyser les performances des codes MPI. 2.2.7.3 Exemples d’utilisation comparée d’outils de profiling 2.2.7.3.1 PFMON Pfmon est le bon outil pour obtenir rapidement un chiffre élémentaire caractérisant un programme, sans aucune programmation, par exemple le nombre d’opérations en virgule flottante du programme test2: pfmon -e FP_OPS_RETIRED test2...
Page 39
PMD4: L2_REFERENCES, ia32/ia64 PMD5: L2_MISSES, ia32/ia64 PMD6: L3_MISSES, ia32/ia64 PMD7: IA64_INST_RETIRED, ia32/ia64 # command: pfmon --with-header -k -u -e L2_MISSES,L2_REFERENCES,L3_MISSES,IA64_INST_RETIRED --outfile=result_pfmon/pfmon_miss_16.2081 runspec -c il420-linux-v7 --iterations=1 --tune=base -I --noreportable --rate --users 16 applu 4234016 L2_MISSES 69799519 L2_REFERENCES 527948 L3_MISSES 772924788 IA64_INST_RETIRED 2.2.7.3.2 PAPI La même chose peut être obtenue avec PAPI mais de manière beaucoup plus...
Page 40
#include "fpapi.h" real real_time,cpu_time, mflops integer*8 fp_ins call PAPIf_flops( real_time, cpu_time, fp_ins, mflops, ierr ) ..traitement..call PAPIf_flops(real_time,cpu_time, fp_ins, mflops, ierr) ...édition des résultats: write (6,120) real_time, cpu_time, fp_ins,mflops 120 format (//'PAPI result'/' real time (secs) :', f15.3, $ /' CPU time (secs) :',f15.3, $ /'floating point instructions:', i15, $ /'...
Page 41
Positionner chaque événement au type désiré ( cf fpapi.h) numevents= 2 events(1)=PAPI_FP_INS events(2)=PAPI_TOT_CYC Démarrer les compteurs et tester le compte-rendu call PAPIf_start_counters(events, numevents, ierr) if ( ierr .NE. PAPI_OK ) then call PAPIF_perror(ierr,errorstring,PAPI_MAX_STR_LEN) print *, errorstring end if Faire un début de traitement, puis lire et réinitialiser les compteurs sans les arrêter call PAPIf_read_counters(values,numevents,ierr) if ( ierr .NE.
Page 42
call PAPIf_library_init(ierr) Puis gérer des ensembles d'évènements qui seront utilisés de concert par: call PAPIf_create_eventset(es,ierr) Ensuite introduire des évènements dans cet ensemble par: call PAPIf_add_event( es, PAPI_TOT_CYC,, ierr ) Démarrer, lire, arrêter un ensemble call PAPIf_start(es) call PAPIf_read(es) call PAPIf_accum(es) call PAPIf_stop(es) Se reporter au user's guide de PAPI pour l'interface exact.
Page 43
export DISPLAY=..:0.0 ../bin/vprof –d. test2 et voilà la fenêtre obtenue, qui décline les différentes fonctions avec le pourcentage d’opérations flottantes par seconde. La commande cprof donne les mêmes informations, mais sous forme de texte ; Exemple, lors d’un autre essai du même programme: ../bin/cprof -r test2 Columns correspond to the following events: PAPI_FLOPS - Floating Point instructions per second (1145301 events)
Page 44
13.9% u01(void) 12.2% ref_dgemm_tt(int, int, int, double, double *, int, double *, int, double, double *, int) 11.9% randomize_matrix(int, int, int, double *, int) 11.3% ref_dgemm_nt(int, int, int, double, double *, int, double *, int, double, double *, int) Remarque : Dans certains cas , on remarque des fautes de segmentation avec PAPI sous forme de bibliothèque partagée ;...
Page 45
2.2.7.4 VAMPIR VAMPIR est un outil graphique de profiling commercialisé par la société PALLAS. Il permet de visualiser et d’analyser les performances des codes MPI. Après avoir créé des fichiers de traces à l’aide du logiciel VampirTrace, il suffit de lancer Vampir pour pouvoir les interpréter de façon graphique.
Page 46
Renseignements sur une communication MPI Ce message indique que la communication, d’une durée de 2,483 ms, a eu lieu du processus 1 vers le processus 0… 2-32 Guide d’installation des logiciels HPC...
Page 47
Temps passé dans les différentes activités En clair, on a le temps total passé au niveau applicatif et en foncé, le temps passé en communication MPI. Pour cet exemple, on se rend ainsi compte que le programme passe plus de temps en application qu’en communications MPI. Temps passé...
Page 48
Statistiques sur les échanges de messages entre les processus Ce dernier exemple de graphique met en évidence les quantités de messages échangés entre chacun des processus. Ici, on remarque que les processus ne communique que via le processus 0. Ces différents graphes donnent ainsi un aperçu des possibilités de Vampir et de l’utilisation qui peut en être faite.
2.2.8 Les débogueurs Il existe 2 types de débogueurs : les symboliques et les non symboliques. Un débogueur symbolique permet d’accéder aux symboles d’un programme : On peut accéder aux lignes du fichier source, On peut accéder aux variables du programme par leur nom, alors qu'avec un débogueur non symbolique, on n'aurait accès qu'aux lignes du programme machine (assembleur) et aux adresses physiques.
2.2.9 Les outils de répartition de tâches Le regroupement de plusieurs machines sur un réseau ne suffit pas à la constitution d’un véritable cluster. Un logiciel assurant la gestion de l’ensemble est nécessaire à la meilleure utilisation possible de la puissance de calcul de ces nœuds indépendants.
Page 51
OpenPBS : http://www.openpbs.org OpenPBS est un système de gestion de travaux (ou jobs) permettant de partager au mieux les ressources de la machine selon les besoins des utilisateurs (temps CPU, nombre de processeurs, espace mémoire, etc...). Il offre des outils permettant la construction, la soumission, le traitement et le contrôle de jobs séquentiels ou parallèles.
Page 52
2-38 Guide d’installation des logiciels HPC...
Chapitre 3. Installation d’un cluster Administration du matériel 3.1.1 Mise en route du nœud d’administration Le nœud d’administration représentant la partie visible extérieurement du cluster, sa mise en route et son administration matérielle se fait normalement à l’aide de la console lui étant directement connectée. L’opération du reste du cluster passe obligatoire par la disponibilité...
Page 54
Exemple pour un cluster 4 noeuds (admin, n0101, n0102, n0103): $ cat /etc/minirc.n0101 # minicom default configuration file for node N0101 pr port /dev/ttyD000 pu baudrate 115200 pu bits pu parity pu stopbits pu mautobaud pu statusline disabled pu hasdcd pu minit pu mreset $ cat /etc/minirc.n0102...
SCALI SSP 3.0.1 Introduction : Ce paragraphe décrit l’installation de SCALI SSP 3.0.1. Vous devez consulter le site http://www.scali.com afin de vérifier l’existence de nouvelles mises à jour. Pré-requis : • Linux déjà installé sur chaque nœud • Connexion des câbles comme indiqué dans le « SCALI system guide » . •...
Page 56
n0103 etc … Ø Rajouter rsh, rlogin et login dans le fichier /etc/securetty Ø Exécuter les commandes : chkconfig rsh on chkconfig rlogin on • Vérifier qu’il reste moins 200 Méga Octets de disponibles sur /opt/scali sur tous les nœuds. •...
Page 57
• A l’étape « Determine node categories », il est possible d’exclure certains nœuds qui ne sont pas des nœuds de calcul (par exemple des nœuds de stockage). Pour ce faire : Ø A la question « Do you accept the above configuration ? », il faut répondre «...
Page 58
Mise à jour des « rpm »: Ø Télécharger dans le répertoire /opt/scali/repository/Linux2.ia64 les mises à jour accessibles sur le site www.scali.com (menu : «Download->Software- >SSP3.0 updates). ü ScaMPI ü ScaSCI ü ScaSCIddk ü ScaSCIadap ü ScaSISCI ü Il faut noter que cette liste de rpm à mettre à jour peut évoluer. cd /home/scali/repository/Linux2.ia64 ### Télécharger les rpm (packages) ### Ø...
La suite ne diffère pas de la documentation originale : make make install /opt/scali/sbin/scireload (sur chaque nœud) /opt/scali/sbin/SSPinstall 3) Installation : 2ème passe Pour la deuxième passe de l’installation, relancer l’installation : /opt/scali/sbin/SSPinstall • A l’étape « Do you want to upgarde », répondre « y » •...
Page 60
LD_LIBRARY_PATH=/opt/envhpc/intel/mkl/lib/64:/opt/scali/lib:$LD _LIBRARY_PATH export MANPATH=/opt/scali/man:$MANPATH Nom proposé : ENV_VAR_SCALI Un exemple de ce fichier est proposé sur ce CD « Bull ENH Open Source » dans le répertoire VARIABLES_ENVIRONNEMENT (voir ci-dessous le paragraphe « Installation Logicielle ») Le copier dans /opt/envhpc...
Procédure pour désinstaller: • Sur le frontal : Faire la commande : /opt/scali/sbin/SSPuninstall • Sur tous les nœuds : Supprimer le répertoire /opt/scali (sur tous les noeuds) et certains fichiers sous /tmp : rm -rf /opt/scali rm /tmp/SSP_3_0_1* SCALI SSP 3.1.0 Introduction : Ce paragraphe décrit l’installation de SCALI SSP 3.1.0.
Page 62
Configuration de l'Operating System comme indiqué dans le fichier OS (dans le sous-répertoire SSP_3_1_0/doc/SSP). Sur tous les nœuds du cluster : Ø Insérer tous les noms de nœuds avec leur adresse IP sur le réseau local dans le fichier /etc/hosts : <adresse IP>...
Page 63
L’installation du logiciel d’interconnexion SSP de SCALI nécessite plusieurs passes : Une première passe pour installer la licence, définir les nœuds (admin, n0101, n0102, n0103 etc …) et les fonctionnalités à installer (OpenPBS) ou à ne pas installer (Console Server, Power Switch Server, NIS/YP). Une phase intermédiaire de mise à...
Page 64
Ø « Checking OS support » • A l’étape « Are you using NIS/YP .. » répondre « n » • A l’étape « Configuring SCI network », pour un cluster 4 nœuds, choisir « 2D torus », puis donner le nombre de nœuds (2) connectés sur les anneaux de l’interface L0, puis donner le nombre de nœuds (2) connectés sur les anneaux de l’interface L1.
Page 65
pour un fichier version.h situé dans : /usr/src/linux/include/linux La suite ne diffère pas de la documentation originale : make make install /opt/scali/sbin/scireload (sur chaque nœud) 3) Installation : 2ème passe L’installation est très facilement vérifiée et testée par les commandes (plus aucune erreur ne doit être affichée) : export PATH=/opt/scali/bin:/opt/scali/sbin:$PATH SSPinstall -v...
LD_LIBRARY_PATH=/opt/envhpc/intel/mkl/lib/64:/opt/scali/lib:$LD _LIBRARY_PATH export MANPATH=/opt/scali/man:$MANPATH Nom proposé : ENV_VAR_SCALI Un exemple de ce fichier est proposé sur ce CD « Bull Extension Pack For HPC Linux » (voir ci-dessous le paragraphe dans le répertoire VARIABLES_ENVIRONNEMENT « Installation Logicielle ») Le copier dans /opt/envhpc Procédure pour désinstaller:...
3.4.1 Ci dessous le mode opératoire utilisé pour accomplir cette manoeuvre d'après la documentation du switch Pour configurer le switch, il faut se connecter sur la ligne série en face avant du boitier Gigabit. Une des lignes série "minicom" (par exemple celle de n0101) a été utilisée pour cette connexion.
Page 68
3-16 Guide d’installation des logiciels HPC...
Chapitre 4. Installation logicielle, lancement Suit une aide à l’installation de logiciels Open Source à partir du CD « Bull Extension Pack for HPC Linux V2.0 June 2003 ( ref : 76 741 190-001 ) » ou directement à partir des «...
La distribution de base Linux installe les composants GNU (gcc, g77, gdb, pthreads…) Installation automatisée des composants logiciels qui sont sur le CD Bull Extension Pack For HPC Linux Il faut dans un premier temps, monter le CD-ROM : mount -t iso9660 /dev/cdrom /mnt/cdrom cd /mnt/cdrom Lancer le script d’installation automatique des composants Open Source :...
Page 71
« standalone ». Pour une installation en mode « cluster », se reporter au paragraphe « Installation manuelle des composants logiciels qui sont sur le CD Bull » Pour les autres composants, se reporter au paragraphe « Installation manuelle des composants logiciels qui sont sur le CD Bull »...
Page 72
Si PBS n'a pas déjà été installé, alors MAUI ne pourra pas être installé. Where did you installed your PBS release ? [/usr/local] Si PBS a été installé au préalable, donner le chemin d'installation racine. Par défaut, le script considère qu'il est installé dans /usr/local. •...
Un dernier message indique le fichier de log à vérifier pour suivre le déroulement de l'installation qui vient d'avoir lieu : You can read /tmp/bull/pvm3.log for more information Quand tous les packages ont été installés, un message indique que les installations sont terminés :...
Page 74
Configuration pour un cluster : L’accès au répertoire /opt/envhpc par les autres nœuds (clients) se fera par montage nfs. Un montage nfs de /home/packages_sources est aussi conseillé afin de pouvoir exécuter les différents tests d’installation Pour cela : Sur le serveur (admin) : Créer le répertoire mkdir /opt/envhpc Mettre dans /etc/exports...
Installation manuelle des composants logiciels qui sont sur le CD Bull Ces composants logiciels sont livrés via le CD-ROM « Bull Extension Pack For HPC Linux » Il faut donc dans un premier temps, monter le CD-ROM : mount -t iso9660 /dev/cdrom /mnt/cdrom Ensuite créer un répertoire qui contiendra les logiciels sources :...
Compilateurs Intel Compilateur Fortran : Exemple d’installation du compilateur FORTRAN 7.0.0.64 avec licence l_for_03387691.lic Créer un répertoire « licenses », s’il n’existe pas déjà, à l’endroit où on va installer le compilateur intel. Par exemple, si l’on compte installer le compilateur Intel dans...
Page 77
Vérifier que <chemin d’installation>/compiler70/ia64/bin/efcvars.sh pointe bien vers les bons chemins puis l’exécuter : . <chemin d’installation>/compiler70/ia64/bin/efcvars.sh Le compilateur fortran est désormais disponible sous le nom de efc Test de l’installation : Exécuter la commande Le résultat suivant doit s’afficher /usr/lib/crt1.0 : In function `_start’ : /usr/lib/crt1.0(.text+0x41) : undefined reference to `main’...
Page 78
tar xvf l_cc_p_7.0.065.tar Installer le compilateur C/C++ sur la distribution Linux installée via la commande install : ./install Choisir « 2 » pour sélectionner l’installation sur une plateforme « Itanium®- based system » Choisir « 1 » pour installer le compilateur C/C++ itanium Après le «...
Page 79
Intel Debugger : Première étape : Le package permettant d’installer ce debugger est situé dans l’une ou l’autre des archives tar Fortran ou C Seconde étape : Installation Après installation du compilateur C, par exemple : Installer le debugger Intel sur la distribution Linux installée, via la commande install : ./install Choisir "...
Page 80
Pour quitter faire quit MPICH 1.2.5 Récupérer l’archive mpich.tar sur le site : http://www-unix.mcs.anl.gov/mpi/mpich/download.html ou encore : cd /home/packages_sources/MPICH Désarchiver le fichier : tar xvfz mpich.tar.gz cd mpich-1.2.5 Pour l’installation proprement dite, suivre les instructions du README ainsi que les fichiers du répertoire doc situé...
Page 81
En revanche, si l’on souhaite compiler mpich pour un cluster de machines SMP, on choisira le device ch_p4 : ./configure --prefix=<chemin d’installation> --with-device=ch_p4 -comm=shared -cc=ecc -clinker=ecc -fc=efc -flinker=efc -f90=efc -f90linker=efc où <Chemin d’installation> pourra être par exemple /opt/envhpc/mpich-1.2.5 Pour connaître la signification de chacun de ces flags, veuillez vous reporter à la documentation fournie.
Page 82
Note : Lorsque l’installation se fait avec le device ch_p4, il faut modifier le fichier <chemin d’installation>/mpich-1.2.5/share/machines.LINUX et y indiquer le nom des machines ainsi que le nombre de processeurs sur chacune d’elles. Par exemple : admin:4 n0101:4 n0102:4 n0103:4 Tests : On peut alors tester basiquement notre configuration cd <chemin d’installation>/mpich-1.2.5/examples...
mpirun -np 16 ./pi3f90 Saisir le nombre d’intervalles, par exemple 10000, ou 0 pour sortir de l’application. IMPORTANT : à ce stade, on peut créer un fichier définissant les variables d’environnements permettant d’utiliser les outils suivants : compilateurs Intel v7.0 librairies mathématiques Intel mpich-1.2.5 Exemple :...
Page 84
Copier fichier licence l_mkl_xxxxxxxx.lic dans répertoire /opt/envhpc/intel/licenses Décompresser et désarchiver le fichier d’archive: tar xvf l_mkl_p_6.0.011.tar Procéder à l’installation en lançant : cd l_mkl_p_6.0.011 ./install.sh Le chemin d’accès à la licence est /opt/envhpc/intel/licenses. Le chemin d’installation à préciser est /opt/envhpc/intel Afin d’être indépendant du numéro de version de la bibliothèque, il est recommandé...
4.8.2 FFTW Récupérer l’archive sur le site : http://www.fftw.org/ ou encore : cd /home/packages_sources/FFTW Désarchiver le fichier : tar xvfz fftw-2.1.3.tar.gz cd fftw-2.1.3 Première étape : Note : les compilateurs efc et ecc devront pour cela être dans votre variable d’environnement PATH (cf.
./configure --prefix=<chemin d’installation> -host=i786 --enable-mpi où <Chemin d’installation> pourra être par exemple /opt/envhpc/ fftw-2.1.3 Seconde étape : make make install (construction des outils qui utilisent la configuration précédente) On peut alors tester basiquement notre configuration en mono processeur : cd tests ./fftw_test -s 100 On peut alors tester basiquement notre configuration avec mpi cd ../mpi...
Page 87
Première étape : Il faut initialiser les variables suivantes export PETSC_ARCH=linux64_intel export PETSC_DIR = <chemin ou se trouve les sources>/petsc-2.1.5 export LD_LIBRARY_PATH=/opt/envhpc/intel/mkl/lib/64:$LD_LIBRARY_PATH Modification du fichier $PETSC_DIR/bmake/linux64_intel/packages Pour utiliser avec MPICH: $PETSC_DIR/bmake/linux64_intel/packages Modification du fichier BLASLAPACK_LIB = -L/opt/envhpc/intel/mkl/lib/64 -lmkl_itp -lmkl_lapack /opt/envhpc/intel/mkl/lib/64/libguide.so # Location of MPI (Message Passing Interface) software #MPI_HOME = /usr/local/vmi/mpich...
Page 88
# ------------------------------------------------------------------- # Locations of OPTIONAL packages. Comment out those you do not have. # ------------------------------------------------------------------- # Location of X-windows software X11_INCLUDE = X11_LIB = -L/usr/X11R6/lib -lX11 PETSC_HAVE_X11 = -DPETSC_HAVE_X11 Pour utiliser avec SCAMPI: $PETSC_DIR/bmake/linux64_intel/packages Modification du fichier BLASLAPACK_LIB = -L/opt/envhpc/intel/mkl/lib/64 -lmkl_itp -lmkl_lapack /opt/envhpc/intel/mkl/lib/64/libguide.so # Location of MPI (Message Passing Interface) software #MPI_HOME...
Page 89
# ------------------------------------------------------------------- # Locations of OPTIONAL packages. Comment out those you do not have. # ------------------------------------------------------------------- # Location of X-windows software X11_INCLUDE = X11_LIB = -L/usr/X11R6/lib -lX11 PETSC_HAVE_X11 = -DPETSC_HAVE_X11 $PETSC_DIR/bmake/linux64_intel/variables Modification du fichier C_CC = ecc -D_REENTRANT -I/opt/scasli/include C_CLINKER = ecc -L/opt/scali/lib -lmpi -Wl,-R/opt/scali/lib C_FLINKER...
Page 90
NOTE: Chaque résultat est comparé au résultat attendu par un diff. Avec SCAMPI, mpirun lance mpimon et affiche la commande mpimon lancée. Ainsi tous les tests comportent des différences avec le résultat attendu. Par exemple : ###### > /opt/scali/bin/mpimon -stdin all ex22 -da_grid_x 10 -nox -- n0101 1 Possible problem with ex22_1, diffs above ###### 4-22...
HPL est la version Linpack HPC. Ce benchmark standard permet de mesurer de façon standardisée la scalabilité et les performances d’un cluster. Il a pour but de résoudre un système linéaire de N équations à N inconnues (Ax=B). Les matrices utilisées sont des matrices denses et le code est constitué d’opérations en calculs flottants en double précision et de communications synchrones.
Page 92
Dans le fichier Makefile faire la modification suivante : arch = Itanium Récupérer un exemple de Make.Arch en faisant par exemple : cp setup/Make.Linux_PII_CBLAS Make.Itanium Premier cas : vous souhaitez compiler HPL avec mpich et la libmkl Faire les modifications suivantes dans Make.Itanium : ARCH = Itanium Ajouter HOME = /opt/envhpc CC = mpicc...
Page 93
Pour préparer la compilation, exécuter : . /opt/envhpc/ENV_VAR_MPICH Second cas : vous souhaitez compiler HPL avec ScaMPI de SCALI et la libmkl (en étant dans une configuration cluster) Faire les modifications suivantes dans Make.Itanium ARCH = Itanium Ajouter HOME = /opt/envhpc CC = ecc –D_REENTRANT –I$(MPI_HOME)/include CCFLAGS = LINKER = efc...
Page 94
Pour préparer la compilation, exécuter : . /opt/envhpc/ENV_VAR_SCALI Dans les 2 cas : make clean_arch_all make : création de l’exécutable xhpl dans ./bin/Itanium cd bin/Itanium/ Modification de HPL.dat : Rechercher le fichier de paramètres donnant la performance globale du cluster la meilleure : HPL.dat Précisions : N = taille du problème à...
Page 95
Exemples : MPICH : HPL.dat pour une exécution de HPL sur une machine SMP 4 processeurs : HPLinpack benchmark input file Innovative Computing Laboratory, University of Tennessee HPL.out output file name (if any) device out (6=stdout,7=stderr,file) # of problems sizes (N) 10000 Ns # of NBs # of process grids (P x Q)
Page 96
HPLinpack benchmark input file Innovative Computing Laboratory, University of Tennessee HPL.out output file name (if any) device out (6=stdout,7=stderr,file) # of problems sizes (N) 10000 Ns # of NBs # of process grids (P x Q) 16.0 threshold # of panel fact PFACTs (0=left, 1=Crout, 2=Right) # of recursive stopping criterium NBMINs (>= 1)
Page 97
Sur le nœud d’administration, modifier temporairement le fichier /opt/envhpc/mpich- 1.2.5/share/machines.LINUX pour avoir un processus MPI par nœud SMP, par exemple : admin n0101 n0102 n0103 Exécution : mpirun -np 4 xhpl Résultat de l’exécution : “1 tests completed and passed residual checks” Remettre le fichier /opt/envhpc/mpich-1.2.5/share/machines.LINUX dans son état avant la modification.
RFACTs (0=left, 1=Crout, 2=Right) # of broadcast BCASTs (0=1rg,1=1rM,2=2rg,3=2rM,4=Lng,5=LnM) # of lookahead depth DEPTHs (>=0) SWAP (0=bin-exch,1=long,2=mix) swapping threshold L1 in (0=transposed,1=no-transposed) form U in (0=transposed,1=no-transposed) form Equilibration (0=no,1=yes) memory alignment in double (> 0) Exécution : mpimon xhpl – admin 1 n0101 1 n0102 1 n0103 1 Résultat de l’exécution: “1 tests completed and passed residual checks”...
Page 99
Cependant, voici une petite aide pour compiler rapidement votre version de lam : Première étape : Note : les compilateurs efc et ecc devront pour cela être dans votre variable d’environnement PATH (cf. section « Compilateurs Intel V7.0 ») Pour utiliser LAM sur une machine SMP seule, il faut compiler LAM avec l’option «...
Page 100
Pour utiliser ensuite les outils LAM-MPI, il faut au préalable effectuer les opérations suivantes : export PATH=<chemin d’installation>/lam-6.5.9/bin:$PATH Dernière étape : On peut alors compiler les exemples en ajoutant dans le fichier Makefile se trouvant dans lam-6.5.9 l’option –Vaxlib au niveau du flag FFLAGS et en modifiant le fichier /home/packages_sources/LAM_MPI/lam-6.5.9/mpi2c++/contrib/test_suite/signal.cc : Remplacer la ligne : n.sa_mask= 0;...
Page 101
Un exemple de ce fichier est proposé dans /home/packages_sources/VARIABLES_ENVIRONNEMENT Le copier dans /opt/envhpc Pour exécuter les exemples il faut avant tout être utilisateur « non root » puis exécuter le fichier ENV_VAR_LAM. . /opt/envhpc/ENV_VAR_LAM Pour un cluster, le fichier ENV_VAR_LAM doit en plus être chargé lors du login de l’utilisateur des machines distantes.
4.11 PVM 3.4.4 Aller sur le site http://www.netlib.org/pvm3/index.html et télécharger pvm3.4.4.tgz ou le récupérer sur le CD Bull Dézipper et désarchiver le fichier par : cd /opt/envhpc tar xvfz /home/packages_sources/PVM/pvm3.4.4.tgz PVM s’est installé sous le répertoire pvm3. Création des variables d’environnement.
Page 103
export PATH=$PVM_ROOT/lib/$PVM_ARCH:$PVM_ROOT/bin/$PVM_ARCH:$PATH Un exemple de ce fichier est proposé dans /home/packages_sources/VARIABLES_ENVIRONNEMENT Exécution des variables d’environnement : . /opt/envhpc/ENV_VAR_PVM Aller dans le répertoire /opt/envhpc/pvm3 : cd /opt/envhpc/pvm3 Pour information : Les différentes architectures proposées sont dans le sous-répertoire conf. Celle qui correspond à notre machine est LINUX64. Faire les modifications suivantes dans le fichier Makefile.aimk : CC = ecc F77 = efc...
Le prompt suivant doit s’afficher pvm> Pour quitter, taper : quit Il s’affiche: Console : exit handler called pvmd still running 4.12 Outils d’analyse de performances et de profiling Il y a deux types de livraison : des packages officiels sous forme de rpm des ensembles avec du source sous forme de tar zippes Les packages : libpfm-2.0-1.ia64.rpm...
tar xvfz /home/packages_sources/PROFILING/vprof-linux-ia64.tar.gz 4.12.1 Pfmon La documentation de cet outil se trouve sur le site : http://www.hpl.hp.com/research/linux/perfmon/pfmon.php4 Exécute par exemple, sur la commande ls : pfmon /bin/ls et on obtient : cycles.sh pfdbg pfmon 1 559 994 CPU_CYCLES Il est possible de capturer 4 évènements à la fois . Il existe aussi une option qui permet de lancer pfmon system-wide pour observer l’ensemble de la machine.
Page 106
Sinon la documentation se trouve sur le site : http://icl.cs.utk.edu/projects/papi/documents Pour effectuer un premier test de l’opérabilité de PAPI : cd ../ctests ./zero Test case 0: start, stop. ----------------------------------------------- Default domain is: 1 (PAPI_DOM_USER) Default granularity is: 1 (PAPI_GRN_THR) Using 10000000 iterations of c += a*b ------------------------------------------------------------------------- Test type : PAPI_FP_INS :...
export PAPI_DEBUG= y Si, au contraire, cette trace pollue : unset PAPI_DEBUG Une fois ces vérifications faites, la lecture, dans le directory tests, d’un fichier source aide à comprendre les modifications à faire dans le source de l’application. Il suffit donc de s’en inspirer pour faire les modifications nécessaires dans son programme.
Il est possible, en particulier si on ne s’intéresse qu’a du profiling système, de fabriquer une version de cprof/vprof indépendant de PAPI. Si tel est le cas, repartir des sources du site et lancer la configuration : configure Avec les options désirées. La version livrée ici nécessite PAPI.
Page 109
Répondre « y » aux questions Copier le fichier d’environnement ENV_VAR_VAMPIR dans /opt/envhpc : cp /home/packages_sources/ /opt/envhpc VARIABLES_ENVIRONNEMENT ENV_VAR_VAMPIR Ce fichier définit les variables d’environnement suivantes : export PAL_ROOT=/opt/envhpc/VAMPIR export PAL_LICENSEFILE=$PAL_ROOT/etc/license.dat export VAMPIR_ROOT=$PAL_ROOT/bin export PATH=$PATH:$VAMPIR_ROOT export VAMPIR_LIB_DIR=$PAL_ROOT/lib Comment obtenir la trace d’un programme? Remarque: avant de lancer VAMPIR penser à...
Page 110
Utilisation de VAMPIR Pour lancer VAMPIR , il faut exécuter la commande : vampir Une fois que VAMPIR est ouvert, il suffit d’ouvrir le fichier <programme>.bvt . Pour l’utilisation, se référer au manuel utilisateur situé dans le répertoire $PAL_ROOT/doc 4-42 Guide d’installation des logiciels HPC...
L’administrateur est également informé quand la situation redevient normale sur un serveur ou un service. Nagios est livré non compilé. Le script d’installation fourni par Bull.réalise les compilations nécessaires et prépare les fichiers de configuration. Ce script est présent sur le CD-ROM Bull, sous le répertoire NAGIOS.
Le serveur sur lequel Nagios est installé sera appelé par commodité dans ce document : ‘serveur Nagios’. Si vous décidez d’utiliser Nagios, il vous faut dans une première phase : déterminer les autres serveurs (hôtes distants) que vous souhaitez surveiller avec Nagios, (munissez-vous de leur nom et leur adresse déterminer les services que vous voulez surveiller.
Si Nagios est lancé, cette interface vous permet aussi de visualiser le statut des serveurs et services surveillés avec Nagios. Remarque : si vous avez installé Nagios, avec le script d’installation de Bull, vous devez pouvoir lancer Nagios, dès l’installation terminée et visualiser la configuration fictive (cf menu : status map et service detail).
Page 114
à etc/rc.d/init.d/nagios start / restart / reload / status / stop Remarque: Si vous rencontrez des difficultés en appelant les urls, pensez à lancer ou relancer httpd et votre browser. # service httpd start / restart … # netscape & (ou mozilla&, …) 4-46 Guide d’installation des logiciels HPC...
4.13.3 Configuration de Nagios (et nrpe) 4.13.3.1 Configurer Nagios sur le serveur Nagios Nagios s’appuie sur 10 fichiers de configuration (.cfg) pour fonctionner. Ceux-ci se trouvent tous sous /usr/local/nagios/etc. Dans chacun de ces fichiers, des exemples sont fournis en standard avec Nagios. Nous vous conseillons de vous inspirer de ces exemples pour créer votre propre configuration, qui dépendra notamment de : des serveurs à...
4.13.3.2 (Installer et ) Configurer NRPE et check_nrpe pour un hôte distant Remarque préliminaire : avec Nagios, vous pouvez surveiller un hôte distant via quelques services disponibles (plugins) de nagios : ping, http, … Par contre, pour d’autres opérations, telle que la surveillance de la charge cpu sur un hôte distant, vous avez besoin d’installer : nrpe et des commandes nrpe sur cet hôte, les services nrpe correspondants sur le serveur nagios.
2) Editer le fichier /etc/services enlever le caractère commentaire (cad ‘#’ en début de ligne) de la ligne : nrpe 5666/tcp #NRPE pour la valider, sinon créer la ligne 3) Editer /etc/xinetd.d/nrpe supprimer tous les caractères commentaire des lignes comprises entre : ‘service nrpe’...
Remarque : dans cet exemple, le service c-nrpe-dist1 fait appel à la commande check-host définie sur le(s) serveur(s) distant(s), cf paragraphe précédent et fichier nrpe.cfg. 4.13.3.2.3 Activation de nrpe et des services associés Pour que nrpe et ces différents éléments soient pris en compte : recharger et relancer nagios sur le serveur nagios §...
Page 119
Pour rendre les informations des nœuds disponibles à l’affichage graphique, il faut installer ganglia-monitor-core-gmond-2.5.3-1.ia64.rpm sur tous les nœuds : Sur tous les noeuds : cd /home/packages_sources/GANGLIA rpm –ivh ganglia-monitor-core-gmond-2.5.3-1.ia64.rpm Pour l’affichage graphique, installer ganglia-monitor-core-gmetad-2.5.3-3.ia64.rpm sur le nœud serveur : cd /home/packages_sources/GANGLIA rpm –ivh ganglia-monitor-core-gmetad-2.5.3-3.ia64.rpm Pour savoir si les fichiers ont bien été...
Page 120
Sur tous les nœuds, modifier le fichier de configuration /etc/gmond.conf puis re-démarrer le démon. vi /etc/gmond.conf ### modifier la ligne name name "mon_cluster" service gmond restart Installation de ganglia-web-frontend Installer ganglia-webfrontend-2.5.3-1.ia64.rpm sur le nœud serveur : rpm –ivh /home/packages_sources/GANGLIA/ganglia-webfrontend-2.5.3- 1.ia64.rpm Ouvrir une page web à...
cpu_user % CPU utilisé par les processus gexec load_fifteen Charge du système par tranches de 15 min load_five Charge du système par tranches de 5 min load_one Charge du système par tranches de 1 min machine_type = ia64 mem_buffers Quantité de mémoire attribuée au buffer mem_cached mem_free Quantité...
scp /etc/auth_pub.pem nœud(i):/etc Copier la clef privée sur tous les nœuds sur lesquels gexec sera utilisé (normalement, le nœud d'administration) : scp /etc/auth_priv.pem nœud(i):/etc 3) Installation de authd : Sur tous les nœuds du cluster, installation à partir de l’archive RPM cd /home/packages_sources/GEXEC rpm –ivh authd-0.2.1-1.ia64.rpm service authd start...
4.15 Outils de répartition de tâches 4.15.1 OpenPBS Pré-requis : • Enregistrer ses coordonnées et obtenir l’autorisation de télécharger Pour obtenir l’autorisation d’utiliser gratuitement le logiciel « open source » OpenPBS, il est nécessaire de s’enregistrer et d’accepter les conditions exposées sur le site : www.openpbs.org.
Page 124
Ø Compiler les sources OpenPBS cd OpenPBS_2_3_16 ./configure make Installation : make install Ø Mettre le bit suid au programme pbs_iff chmod +s /usr/local/sbin/pbs_iff Configuration : Ø Lancer les démons pbs_mom pbs_server –t create ### Attention, l’option –t create initialise la base de données, elle n’est à utiliser que la première fois.
Page 125
$clienthost admin Ø Déclarer les différentes files d’attente du cluster. Par exemple : qmgr c q dque s q dque queue_type=Execution s q dque enabled=true s q dque started=true Ø Configurer les services pbs_mom, pbs_server et pbs_sched. cp /home/packages_sources/OPENPBS/pbs_mom /etc/init.d chkconfig --add pbs_mom chkconfig --level 35 pbs_mom on cp /home/packages_sources/OPENPBS/pbs_server /etc/init.d...
Page 126
mkdir /usr/spool/PBS/spool mkdir /usr/spool/PBS/undelivered Recopier les fichiers suivants sur tous les nœuds de calcul /usr/init.d/pbs_mom /usr/init.d/pbs_server /usr/init.d/pbs_sched /usr/local/bin/chk_tree /usr/local/bin/hostn /usr/local/bin/nqs2pbs /usr/local/bin/pbs_tclsh /usr/local/bin/pbs_wish /usr/local/bin/pbsdsh /usr/local/bin/pbsnodes /usr/local/bin/printjob /usr/local/bin/qalter /usr/local/bin/qdel /usr/local/bin/qdisable /usr/local/bin/qenable /usr/local/bin/qhold /usr/local/bin/qmgr /usr/local/bin/qmove /usr/local/bin/qmsg /usr/local/bin/qorder /usr/local/bin/qrerun /usr/local/bin/qrls /usr/local/bin/qrun 4-58 Guide d’installation des logiciels HPC...
Page 128
Configurer le service pbs_mom sur chacun des nœuds de calcul et le démarrer chkconfig --add pbs_mom chkconfig --level 35 pbs_mom on service pbs_mom start Ø Relancer pbs_mom, pbs_server pbs_sched nœud d’administration service pbs_mom restart service pbs_server restart service pbs_sched restart Premier test : Ø...
Utilisation : L’utilisation d’ OpenPBS implique l’acceptation des termes de la licence (voir le fichier PBS_License .text sous le répertoire home/packages_sources/OpenPBS/OpenPBS_2_3_16) La documentation d’OpenPBS (v2.3_admin.pdf) est disponible sur le site Web PBS (voir ci-dessus « Génération des binaires »). Elle explique plus en détail comment générer, configurer et utiliser OpenPBS.
Page 130
Installer des sources Le fichier « maui-3.0.7.tar.gz » contenant les sources de MAUI se trouve sous le répertoire /home/packages_sources/MAUI (ce fichier a été téléchargé à partir du site : http://supercluster.org/downloads/maui) Décompresser le fichier cd /home/packages_sources/MAUI tar xvzf maui-3.0.7.tar.gz Compilation et installation Créer un répertoire /opt/envhpc/MAUI Configurer les makefile (utiliser le compilateur gcc) Générer et installer les binaires...
Page 131
cp /home/packages_sources/MAUI/maui /etc/init.d chkconfig --add maui chkconfig --level 35 maui on # lancer maui (cette commande arrête aussi le service pbs_sched) service maui start /opt/envhpc/MAUI/bin/maui Configuration et utilisation Toute la documentation de MAUI se trouve à l‘adresse http://supercluster.org/documentation. Elle explique comment configurer et utiliser MAUI.
Chapitre 5. Désinstallation de la fourniture Intel L’utilisation des logiciels Intel, compilateurs C/C++ et Fortran et bibliothèque mkl est soumise à licence; l’acceptation des règles de licence doit être faite directement par le client final. Afin de respecter ce processus, les logiciels Intel utilisés lors de la phase d’installation des logiciels HPC seront désinstallés avant livraison au client.
Page 134
Guide d’installation des logiciels HPC...
Chapitre 6. FAQ Problème de compilation et d’exécution Comment faire quand on a un message d’erreur du type : « error while loading shared libraries » lors de l’exécution d’un programme? Mon programme parallèle ne trouve pas le programme sur les autres machines. Comment optimiser les compilations avec le compilateur fortran Intel ? Problème de compilation et d’exécution avec MPICH J’ai un problème avec des allocations mémoire quand j’utilise MPICH.
Page 136
implicitnone : force la déclaration des variables : si une variable est utilisée sans avoir été déclarée, cela déclenche une erreur à la compilation w95 : enlève les warnings pour les instructions non standard f95 mp : respect de la double précision norme IEEE unroll2 : fait de «...
unroll : fait de « l'unrolling » de boucle : cela favorise la vectorisation et le pipeline d'instructions prof_gen et prof_use : instrumentation § J’ai un problème avec des allocations mémoire quand j’utilise MPICH. Message d’erreur à l’exécution : p3_1858: (18446744073792.328125) xx_shmalloc: returning NULL; requested 65584 bytes p3_1858: (18446744073792.328125) p4_shmalloc returning NULL;...
Page 138
Guide d’installation des logiciels HPC...
Glossaire BANDE PASSANTE La largeur de bande est l'intervalle de fréquences (« la bande ») transmises sans distorsions notables sur un support de transmission bien défini (atténuation...). Elle est mesurée en Hz. Pour les réseaux, et ensuite par extension pour tous les médias, cela représente la quantité de données transmise par unité...
Page 140
High Performance Computing. Informatique de haute performance. Itanium™ Architecture Architecture 64 bits des nouvelles puces d'Intel, destinées à remplacer les x86. Il s'agit d'une rupture totale avec la série x86, le jeu d'instructions n'ayant plus rien à voir, ni les éléments de l'architecture du processeur.
Page 141
dérivés, le respect du code source originel, l'absence de discrimination envers des personnes, l'absence de limitation sur le domaine d'application du logiciel, la distribution de la licence et sa non-spécificité à un produit, et enfin le fait qu'elle ne contamine pas le travail des autres. PARALLELISATION Transformer un programme de façon qu'il soit possible de l'exécuter efficacement sur plusieurs processeurs.
Page 142
Il définit par exemple la structure interne de l'arborescence, les formats d'enregistrements, le découpage des disques, les métadonnées sur les fichiers... Un SGF est constitué d'un service de gestion (pour l'organisation des fichiers entre eux) et d'un système de fichiers (pour les opérations sures et dans les fichiers). TRACE La Trace d'un programme est la succession des états de son environnement au cours de son exécution.
SOCIETE / COMPANY : ADRESSE / ADDRESS : Remettez cet imprimé à un responsable BULL ou envoyez-le directement à : Please give this technical publication remark form to your BULL representative or mail to: BULL CEDOC 357 AVENUE PATTON B.P.20845...
Customer Code / Code Client : For Bull Internal Customers / Pour les Clients Internes Bull : Budgetary Section / Section Budgétaire : For Others / Pour les Autres : Please ask your Bull representative. / Merci de demander à votre contact Bull.
Page 148
BULL CEDOC 357 AVENUE PATTON B.P.20845 49008 ANGERS CEDEX 01 FRANCE ORDER REFERENCE 86 F2 31EG 02...
Page 149
Utiliser les marques de découpe pour obtenir les étiquettes. Use the cut marks to get the labels. NovaScale Linux HPC Linux Guide d’installation 86 F2 31EG 02 NovaScale Linux HPC Linux Guide d’installation 86 F2 31EG 02 NovaScale Linux HPC Linux Guide d’installation...