Wiki » History » Version 148

Gueguen Mikael, 11/29/2018 03:21 PM

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