Wiki » History » Version 147

GUICHARD Mikael, 06/06/2018 05:08 PM

1 3 MOREL Alexandre
h1. Mésocentre SPIN Calcul
2 1 MOREL Alexandre
3 80 Gueguen Mikael
h1. Introduction/Les calculateurs
4 68 Gueguen Mikael
5 85 Gueguen Mikael
2 machines de calcul de marque _SGI_ sont disponibles pour des usages différents :
6 1 MOREL Alexandre
7 118 Gueguen Mikael
* une machine SMP (à mémoire partagée ; voir le wiki https://forge.univ-poitiers.fr/projects/calculateur-hulk/wiki)
8 118 Gueguen Mikael
* une machine à mémoire distribuée  ; ce présent wiki
9 68 Gueguen Mikael
10 147 GUICHARD Mikael
11 85 Gueguen Mikael
Chaque calculateur dispose de PBSpro avec des files et des usages définis spécifiquement. Ils disposent aussi d'outils et  librairies de calcul spécifiques performants proposés par le constructeur (@mpt,perfboost,MPInside, blcr@).
12 68 Gueguen Mikael
13 147 GUICHARD Mikael
A noter que le Mésocentre SPIN offre aussi une solution de stockage type Amazon S3 :
14 147 GUICHARD Mikael
Mésocentre SPIN Stockage : [[spin_stockage| SPIN Stockage]]
15 147 GUICHARD Mikael
16 135 Gueguen Mikael
h1. Calculateur @Hulk@
17 135 Gueguen Mikael
18 136 Gueguen Mikael
* https://forge.univ-poitiers.fr/projects/calculateur-hulk/wiki
19 1 MOREL Alexandre
20 1 MOREL Alexandre
-----------------------------------------------------
21 137 Gueguen Mikael
22 137 Gueguen Mikael
h1. Assistance 
23 136 Gueguen Mikael
24 140 Gueguen Mikael
* utiliser l'adresse @hpc at support dot univ-poitiers dot fr@
25 1 MOREL Alexandre
26 136 Gueguen Mikael
27 136 Gueguen Mikael
-----------------------------------------------------
28 88 Gueguen Mikael
29 81 Gueguen Mikael
h2. PBS
30 26 Gueguen Mikael
31 36 Gueguen Mikael
h3. [[introduction]]
32 36 Gueguen Mikael
33 70 Gueguen Mikael
h3. création de script de soumission, soumission et suivi
34 26 Gueguen Mikael
35 27 Gueguen Mikael
* [[principales directives de PBS]]
36 34 Gueguen Mikael
37 37 Gueguen Mikael
* [[commandes PBS]]
38 1 MOREL Alexandre
39 38 Gueguen Mikael
* [[ variables définies à la soumission d'un job]]
40 62 Gueguen Mikael
41 84 Gueguen Mikael
* [[ files définies ]]  pour les calculateurs
42 1 MOREL Alexandre
43 1 MOREL Alexandre
44 1 MOREL Alexandre
* [[ dépendances entre jobs]]
45 1 MOREL Alexandre
46 1 MOREL Alexandre
* [[ jobs array]]
47 1 MOREL Alexandre
 
48 1 MOREL Alexandre
49 1 MOREL Alexandre
h3. codes de retour suite à l'arrêt d'un calcul 
50 1 MOREL Alexandre
51 1 MOREL Alexandre
* [[codes de retour]]
52 86 Gueguen Mikael
53 87 Gueguen Mikael
h3. [[ exemples de scripts ]]
54 80 Gueguen Mikael
 
55 1 MOREL Alexandre
56 80 Gueguen Mikael
-----------------------------------------------------
57 80 Gueguen Mikael
58 80 Gueguen Mikael
h1. Machine de calcul MPI, THOR
59 1 MOREL Alexandre
60 147 GUICHARD Mikael
p. La machine de calcul Thor est un cluster MPI SGI ICE-X de 3760 coeurs. Il est composé de 188 lames de calcul bi-socket Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz (20 coeurs par lames) avec 32 Go de mémoire par socket soit 3.2 Go par coeurs (11 lames disposent de 6,4Go par coeurs). 
61 80 Gueguen Mikael
62 80 Gueguen Mikael
63 97 Gueguen Mikael
p. Chaque lame est raccordée à un réseau Infiniband hypercube enhanced FDR à 56 Gbit/s. Le stockage des données de calcul est basé sur un système de fichier parallèle Lustre 2.5 via le réseau Infiniband. Il offre une capacité de 56 To pour le répertoire @/scratch@ et de 21 To pour le répertoire @/home@.
64 80 Gueguen Mikael
65 80 Gueguen Mikael
p=. !{width: 20%}IMG_1361.JPG!  !{width: 40%}archi_thor.png! 
66 80 Gueguen Mikael
67 131 Gueguen Mikael
La connexion à la machine se fait à l'adresse @thor dot univ-poitiers dot fr@ par @ssh@ sur le port 86 :
68 80 Gueguen Mikael
69 139 Gueguen Mikael
<pre><code>ssh -p 86 -X homer at thor  dot univ-poitiers dot fr</code></pre>
70 80 Gueguen Mikael
71 80 Gueguen Mikael
72 80 Gueguen Mikael
p. monitoring : http://thor-ganglia.univ-poitiers.fr
73 80 Gueguen Mikael
74 1 MOREL Alexandre
h2. Documentations à télécharger
75 1 MOREL Alexandre
76 1 MOREL Alexandre
* Fiche pratique Thor : source:sheet/thor/thorsheet.pdf
77 2 MOREL Alexandre
78 7 Gueguen Mikael
* Formation utilisateurs : {{dmsf(113)}}
79 4 Gueguen Mikael
80 50 Gueguen Mikael
h2. [[librairies MPI]]
81 50 Gueguen Mikael
82 1 MOREL Alexandre
h2. [[Compilateurs]]
83 116 Gueguen Mikael
84 116 Gueguen Mikael
h2. [[Profilage de code MPI]]
85 64 Gueguen Mikael
86 144 Gueguen Mikael
h2. [[Codes de pré/post traitement]]
87 144 Gueguen Mikael
88 93 Gueguen Mikael
h2. Codes installés
89 2 MOREL Alexandre
90 57 Gueguen Mikael
Les codes installées sont à utilisés avec l'utilitaire module pour le chargement adhoc des variables d'environnement :
91 57 Gueguen Mikael
<pre>
92 57 Gueguen Mikael
[homer@thor ~]$ module avail codes
93 57 Gueguen Mikael
94 57 Gueguen Mikael
------------------------------------------------------- /sw/Modules/modulefiles -------------------------------------------------------
95 57 Gueguen Mikael
codes/abinit/7.10.1   codes/lammps/2013     codes/saturne/3.2.1   codes/vasp/5.3/kpar   codes/wien2k/2014
96 57 Gueguen Mikael
codes/espresso/5.1.1  codes/openfoam/2.3.1  codes/vasp/5.3/gamma  codes/vasp/5.3/noncol codes/zebulon/Z8.6
97 57 Gueguen Mikael
</pre>
98 57 Gueguen Mikael
99 121 Gueguen Mikael
* [[spin_wien|Code WIEN2k]]
100 2 MOREL Alexandre
* [[spin_vasp|Code VASP]]
101 9 Gueguen Mikael
* [[spin_lammps|Code LAMMPS]]
102 11 Gueguen Mikael
* [[spin_abinit| Abinit]]
103 12 Gueguen Mikael
* [[spin_espresso| Espresso]]
104 13 Gueguen Mikael
* [[spin_saturne| Code Saturne]]
105 13 Gueguen Mikael
* [[spin_abq| abaqus]]
106 16 Gueguen Mikael
* [[spin_openfoam| foam]]
107 145 Gueguen Mikael
* [[spin_dakota|Dakota]]
108 16 Gueguen Mikael
109 14 Gueguen Mikael
h2. librairies installés
110 14 Gueguen Mikael
111 56 Gueguen Mikael
les librairies dynamiques possèdent généralement un module associé afin de charger correctement l'environnement :
112 56 Gueguen Mikael
<pre>
113 56 Gueguen Mikael
[homer@thor ~]$ module avail lib
114 142 Gueguen Mikael
lib/adios/1.9.0                lib/mpl_toolkits.basemap/1.0.7 lib/petsc/3.6.3-opt
115 142 Gueguen Mikael
lib/boost/1.55                 lib/mumps/4.10.0               lib/petsc/3.7.2-opt
116 142 Gueguen Mikael
lib/cgns/3.1.4                 lib/mumps/5.0.0                lib/qt/5.9.1
117 142 Gueguen Mikael
lib/fftw/3.3.4                 lib/mumps/5.1.2                lib/scotch/6.0.3
118 142 Gueguen Mikael
lib/fishpack/4.1               lib/netcdf/4.4.0               lib/tcltk/8.6.5
119 142 Gueguen Mikael
lib/gsl/2.4                    lib/netcdf/ifort/4.4.4         lib/vtk/5.10.1
120 142 Gueguen Mikael
lib/hdf5/intel/1.10.1          lib/parmetis/4.0.3             lib/vtk/7.1.0
121 142 Gueguen Mikael
lib/itk/4.13.0                 lib/petsc/3.4.3-opt
122 142 Gueguen Mikael
lib/metis/5.1.0                lib/petsc/3.5.2-opt
123 56 Gueguen Mikael
</pre>
124 56 Gueguen Mikael
125 58 Gueguen Mikael
* [[spin_vtk| VTK]]  visualization toolkit
126 55 Gueguen Mikael
* [[spin_boost| BOOST]] librairie c++ 
127 55 Gueguen Mikael
* [[PETSc]] librairie de calcul parallèle 
128 23 Gueguen Mikael
* [[blcr]] utilitaire pour faire du Checkpoint / Restart 
129 1 MOREL Alexandre
* [[perfboost]] utilitaire pour améliorer les performances d'un code MPI non compilé avec la librairie MPT de SGI
130 141 Gueguen Mikael
* [[eigen]] librairie c++ pour le calcul
131 141 Gueguen Mikael
* [[ITK]] librairie c++ pour le traitement d'image
132 28 Gueguen Mikael
133 119 Gueguen Mikael
h2. [[ utilitaires ]]
134 119 Gueguen Mikael
135 98 Gueguen Mikael
h2. [[ Système de fichier LUSTRE]]
136 1 MOREL Alexandre
137 97 Gueguen Mikael
138 97 Gueguen Mikael
139 97 Gueguen Mikael
h2.  Commandes
140 97 Gueguen Mikael
141 97 Gueguen Mikael
h3. espace disque
142 28 Gueguen Mikael
143 28 Gueguen Mikael
* Connaitre  l'espace utilisé sur un répertoire
144 28 Gueguen Mikael
<pre>
145 28 Gueguen Mikael
[homer@thor]$ du -sh
146 28 Gueguen Mikael
376K	.
147 28 Gueguen Mikael
</pre>
148 31 Gueguen Mikael
149 126 Gueguen Mikael
h2.  commandes propres à *thor*
150 31 Gueguen Mikael
151 124 Gueguen Mikael
152 127 Gueguen Mikael
*ces scripts sont localisés sous /sw/tools/bin. Pour les utiliser, ajoutez ce chemin au @PATH@ dans votre @.bashrc@*
153 31 Gueguen Mikael
<pre>
154 31 Gueguen Mikael
PATH=$PATH:/sw/tools/bin
155 124 Gueguen Mikael
</pre>
156 124 Gueguen Mikael
157 143 Gueguen Mikael
* @pbs_queue@ : permet de lister les informations relatives à chaque files définies et la politique de tri des jobs  (_faire @module add intel-cmkl-15@ avant_) :
158 124 Gueguen Mikael
<pre>
159 132 Gueguen Mikael
[homer@thor]$ pbs_queue -h
160 125 Gueguen Mikael
usage: pbs_queue [-h] [--verbose]
161 125 Gueguen Mikael
162 125 Gueguen Mikael
         Report queue information
163 125 Gueguen Mikael
         --------------------------------
164 125 Gueguen Mikael
             Col 1 : name of queue
165 125 Gueguen Mikael
             Col 2 : Max Possible Walltime
166 125 Gueguen Mikael
             Col 3 : Max number  of Possible running job for one user in this queue
167 125 Gueguen Mikael
             Col 4 : Max number of Possible running job for overall users in this queue
168 125 Gueguen Mikael
             Col 5 : Max number  of Possible Queued job for one user in this queue
169 125 Gueguen Mikael
             Col 6 : Max number  of Possible Queued job for overall users in this queue
170 125 Gueguen Mikael
             Col 7 : Priority Value for this queue
171 125 Gueguen Mikael
             Col 8 : number of Jobs (running and queued)
172 125 Gueguen Mikael
             Col 9 : number of Running jobs
173 125 Gueguen Mikael
             Col 10 : number of Queued jobs
174 125 Gueguen Mikael
175 133 Gueguen Mikael
[homer@thor]$ pbs_queue
176 124 Gueguen Mikael
=====================================================================================================
177 124 Gueguen Mikael
     Queue        Max       MaxRun    MaxRun  MaxQueued MaxQueued Priority  Current  Running  Queued
178 124 Gueguen Mikael
               Walltime     /user    forall     /user    forall             Jobs     Jobs     Jobs
179 124 Gueguen Mikael
=====================================================================================================
180 124 Gueguen Mikael
     workq      --         0         0         0         0         -         0         0         0
181 124 Gueguen Mikael
    default     --         0         1         0         0         -        13         0        13
182 124 Gueguen Mikael
     large   30:00:00      1         2         1         2        100        1         0         1
183 124 Gueguen Mikael
  small_long 600:00:00     8         8         5        10        20        10         5         5
184 124 Gueguen Mikael
    medium   90:00:00      4         4         6        10        300        9         4         5
185 124 Gueguen Mikael
    normal   110:00:00     5        10        10        15        300       15         3        12
186 124 Gueguen Mikael
     small   96:00:00      0        10         4        10        60        10         4         6
187 124 Gueguen Mikael
     test    01:00:00      0         6         1         6        150        1         1         0
188 124 Gueguen Mikael
    R328002  720:00:00     0         0         0         0         -         7         7         0
189 124 Gueguen Mikael
    S328032  12:00:00      0         0         0         0         -         0         0         0
190 124 Gueguen Mikael
    R328225  4055:00:00     0         0         0         0         -        18        13         5
191 124 Gueguen Mikael
Sorting Jobs policy use : 5*job_requested_cpus+queue_priority+prio+eligible_time/3600.0
192 31 Gueguen Mikael
</pre>
193 31 Gueguen Mikael
194 31 Gueguen Mikael
* @qmem@ : permet de tracer l'utilisation mémoire d'un job
195 123 Gueguen Mikael
<pre>
196 132 Gueguen Mikael
[homer@thor 5cycl]$ qmem --job=339337
197 123 Gueguen Mikael
Memory Usage for job : 339337
198 123 Gueguen Mikael
-------------------------------
199 123 Gueguen Mikael
-> ncpu per host requested : 20
200 123 Gueguen Mikael
-> number of host requested : 4
201 123 Gueguen Mikael
user : tnakano,JID : 339337,
202 123 Gueguen Mikael
host : r1i7n0 r1i7n1 r1i7n2 r1i7n3
203 123 Gueguen Mikael
	-> r1i7n0 : RAM mem = 14.2385063171387	 (GB) ; TOT mem = 19.9174461364746 (GB)
204 123 Gueguen Mikael
	-> nb user pid : 24
205 123 Gueguen Mikael
	-> r1i7n1 : RAM mem = 13.5929222106934	 (GB) ; TOT mem = 24.9528999328613 (GB)
206 123 Gueguen Mikael
	-> nb user pid : 24
207 123 Gueguen Mikael
	-> r1i7n2 : RAM mem = 14.2325859069824	 (GB) ; TOT mem = 25.5949440002441 (GB)
208 123 Gueguen Mikael
	-> nb user pid : 24
209 123 Gueguen Mikael
	-> r1i7n3 : RAM mem = 13.8947525024414	 (GB) ; TOT mem = 25.2552146911621 (GB)
210 123 Gueguen Mikael
	-> nb user pid : 24
211 123 Gueguen Mikael
212 123 Gueguen Mikael
</pre>
213 122 Gueguen Mikael
* @gload@ : charge machine donnée par l'outil de monitoring ganglia 
214 31 Gueguen Mikael
<pre>
215 31 Gueguen Mikael
[homer@thor]$ gload
216 31 Gueguen Mikael
		total cpus available  : 2460
217 31 Gueguen Mikael
		total used nodes      : 110
218 31 Gueguen Mikael
		total used process    : 1969
219 31 Gueguen Mikael
		1mn load on thor      : 78.9272357723577 %
220 31 Gueguen Mikael
		idle load on thor     : 20.4073170731707 %
221 31 Gueguen Mikael
 
222 31 Gueguen Mikael
</pre> 
223 95 Gueguen Mikael
* @showq, pestat, ustat@ : commandes supplémentaires pbs
224 59 Gueguen Mikael
* @pbsn@ : liste les noeuds et leurs états (@down, job-exclusive, free@)
225 61 Gueguen Mikael
> * connaitre les noeuds libres :
226 59 Gueguen Mikael
> <pre>
227 60 Gueguen Mikael
[homer@thor]$ pbsn |grep free
228 60 Gueguen Mikael
r1i4n11	free	65000000kb	20
229 60 Gueguen Mikael
r1i4n15	free	65000000kb	20
230 60 Gueguen Mikael
r1i5n13	free	65000000kb	20
231 60 Gueguen Mikael
r1i7n9	free	65000000kb	20
232 60 Gueguen Mikael
</pre>
233 61 Gueguen Mikael
> * compte le nombre de noeuds utilisés 
234 59 Gueguen Mikael
><pre>
235 60 Gueguen Mikael
[homer@thor ~]$ pbsn | grep job | wc -l
236 59 Gueguen Mikael
31
237 1 MOREL Alexandre
</pre> 
238 112 Gueguen Mikael
239 112 Gueguen Mikael
* @running_job_end@ renvoi le nombre de jours restants des calculs en run
240 110 Gueguen Mikael
><pre>
241 111 Gueguen Mikael
[homer@thor ~]$ running_job_end
242 110 Gueguen Mikael
       JID                user               date
243 110 Gueguen Mikael
----------------------------------------------------
244 1 MOREL Alexandre
   226217.thor           dmagne       24 days, 23:50:00
245 110 Gueguen Mikael
   226279.thor           dmagne       24 days, 23:50:00
246 110 Gueguen Mikael
   226280.thor           dmagne       24 days, 23:50:00
247 112 Gueguen Mikael
 ...
248 115 Gueguen Mikael
</pre>