Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| formation:cbp20190606gpu [2019/06/03 16:04] – equemene | formation:cbp20190606gpu [2019/06/11 08:37] (Version actuelle) – [Conclusion] equemene | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== CBP 2019 : le GPU par la pratique ====== | ====== CBP 2019 : le GPU par la pratique ====== | ||
| - | Cette session pratique accompagne le cours du 6 juin au matin réalisé par Emmanuel Quémener. | + | Cette session pratique accompagne le [[http:// |
| + | ===== Déroulement de la journée ===== | ||
| + | |||
| + | * 08h30-09h00 Accueil devant la salle M7-1H104 | ||
| + | |||
| + | * 09h00-10h30 Cours d' | ||
| + | * 10h30-10h45 Pause | ||
| + | * 10h45-12h30 TP première partie | ||
| + | |||
| + | * 12h30-13h30 Repas salle 116 | ||
| + | |||
| + | * 13h30-15h15 TP seconde partie | ||
| + | * 15h30-15h45 Pause | ||
| + | * 15h45-17h30 TP troisième partie | ||
| ===== CQQCOQP : Comment ? Qui ? Quand ? Combien ? Où ? Quoi ? Pourquoi ? ===== | ===== CQQCOQP : Comment ? Qui ? Quand ? Combien ? Où ? Quoi ? Pourquoi ? ===== | ||
| Ligne 45: | Ligne 58: | ||
| * **p100alpha**, | * **p100alpha**, | ||
| * **k40m** : station virtuelle disposant d'une Nvidia Tesla K40m | * **k40m** : station virtuelle disposant d'une Nvidia Tesla K40m | ||
| + | * **r740gpu1** : station disposant de 2 Tesla P100 (appartenant au PSMN) | ||
| Jetez un coup d'oeil sur [[http:// | Jetez un coup d'oeil sur [[http:// | ||
| Ligne 208: | Ligne 222: | ||
| Comme nous l' | Comme nous l' | ||
| - | Sur les stations du CBP, la majorité des implémentations de OpenCL sont disponibles, | + | Sur les stations du CBP, la majorité des implémentations de OpenCL sont disponibles, |
| La commande '' | La commande '' | ||
| Ligne 1316: | Ligne 1330: | ||
| export DATADIR=/ | export DATADIR=/ | ||
| sed -i " | sed -i " | ||
| + | # Modification du dossier de sauvegarde de l' | ||
| + | sed -i ' | ||
| # Réduction du nombre d' | # Réduction du nombre d' | ||
| sed -i ' | sed -i ' | ||
| Ligne 1325: | Ligne 1341: | ||
| </ | </ | ||
| - | Le souci, c'est que le temps écoulé ici comprend (la première fois) le téléchargement et l' | + | Voici la sortie sur une machine équipée de GPUs Nvidia RTX 2080 Ti et GTX 1660 Ti. |
| + | |||
| + | < | ||
| + | TIME Command being timed: " | ||
| + | TIME User time (seconds): 889.04 | ||
| + | TIME System time (seconds): 597.06 | ||
| + | TIME Elapsed (wall clock) time : 234.10 | ||
| + | TIME Percent of CPU this job got: 634% | ||
| + | TIME Average shared text size (kbytes): 0 | ||
| + | TIME Average unshared data size (kbytes): 0 | ||
| + | TIME Average stack size (kbytes): 0 | ||
| + | TIME Average total size (kbytes): 0 | ||
| + | TIME Maximum resident set size (kbytes): 5098888 | ||
| + | TIME Average resident set size (kbytes): 0 | ||
| + | TIME Major (requiring I/O) page faults: 329 | ||
| + | TIME Minor (reclaiming a frame) page faults: 1227196 | ||
| + | TIME Voluntary context switches: 15535406 | ||
| + | TIME Involuntary context switches: 8247917 | ||
| + | TIME Swaps: 0 | ||
| + | TIME File system inputs: 10117019 | ||
| + | TIME File system outputs: 1282614 | ||
| + | TIME Socket messages sent: 0 | ||
| + | TIME Socket messages received: 0 | ||
| + | TIME Signals delivered: 0 | ||
| + | TIME Page size (bytes): 4096 | ||
| + | TIME Exit status: 0 | ||
| + | </ | ||
| + | |||
| + | Le souci, c'est que le temps écoulé ici comprend (la première fois) le téléchargement et l' | ||
| + | |||
| + | Une relance du même apprentissage offre la sortie suivante : | ||
| + | |||
| + | < | ||
| + | TIME Command being timed: " | ||
| + | TIME User time (seconds): 827.48 | ||
| + | TIME System time (seconds): 592.54 | ||
| + | TIME Elapsed (wall clock) time : 123.09 | ||
| + | TIME Percent of CPU this job got: 1153% | ||
| + | TIME Average shared text size (kbytes): 0 | ||
| + | TIME Average unshared data size (kbytes): 0 | ||
| + | TIME Average stack size (kbytes): 0 | ||
| + | TIME Average total size (kbytes): 0 | ||
| + | TIME Maximum resident set size (kbytes): 4100296 | ||
| + | TIME Average resident set size (kbytes): 0 | ||
| + | TIME Major (requiring I/O) page faults: 0 | ||
| + | TIME Minor (reclaiming a frame) page faults: 933283 | ||
| + | TIME Voluntary context switches: 15603184 | ||
| + | TIME Involuntary context switches: 8643170 | ||
| + | TIME Swaps: 0 | ||
| + | TIME File system inputs: 5857597 | ||
| + | TIME File system outputs: 49573 | ||
| + | TIME Socket messages sent: 0 | ||
| + | TIME Socket messages received: 0 | ||
| + | TIME Signals delivered: 0 | ||
| + | TIME Page size (bytes): 4096 | ||
| + | TIME Exit status: 0 | ||
| + | </ | ||
| + | |||
| + | Dans le cas d'une exécution uniquement sur CPU (ici 2 Xeon E5-2637 v4 @ 3.50GHz), nous avons comme sortie : | ||
| + | |||
| + | < | ||
| + | TIME Command being timed: " | ||
| + | TIME User time (seconds): 21180.80 | ||
| + | TIME System time (seconds): 1391.54 | ||
| + | TIME Elapsed (wall clock) time : 1711.02 | ||
| + | TIME Percent of CPU this job got: 1319% | ||
| + | TIME Average shared text size (kbytes): 0 | ||
| + | TIME Average unshared data size (kbytes): 0 | ||
| + | TIME Average stack size (kbytes): 0 | ||
| + | TIME Average total size (kbytes): 0 | ||
| + | TIME Maximum resident set size (kbytes): 2804244 | ||
| + | TIME Average resident set size (kbytes): 0 | ||
| + | TIME Major (requiring I/O) page faults: 0 | ||
| + | TIME Minor (reclaiming a frame) page faults: 283823921 | ||
| + | TIME Voluntary context switches: 26722288 | ||
| + | TIME Involuntary context switches: 6182435 | ||
| + | TIME Swaps: 0 | ||
| + | TIME File system inputs: 5857601 | ||
| + | TIME File system outputs: 83979 | ||
| + | TIME Socket messages sent: 0 | ||
| + | TIME Socket messages received: 0 | ||
| + | TIME Signals delivered: 0 | ||
| + | TIME Page size (bytes): 4096 | ||
| + | TIME Exit status: 0 | ||
| + | </ | ||
| <note warning> | <note warning> | ||
| Ligne 1335: | Ligne 1435: | ||
| - définissez la variable '' | - définissez la variable '' | ||
| - déplacez vous dans le dossier '' | - déplacez vous dans le dossier '' | ||
| - | - modifiez comme précisé | + | - modifiez comme précisé |
| - modifiez le nombre d' | - modifiez le nombre d' | ||
| * Lancez une première fois l' | * Lancez une première fois l' | ||
| Ligne 1344: | Ligne 1444: | ||
| * Lancez une seconde fois l' | * Lancez une seconde fois l' | ||
| - notez les informations de sortie préfixées par '' | - notez les informations de sortie préfixées par '' | ||
| - | * Lancez une seconde fois l' | + | * Lancez une seconde fois l' |
| - notez les informations de sortie | - notez les informations de sortie | ||
| * Comparez les résultats | * Comparez les résultats | ||
| - | * Qu' | + | * Qu' |
| </ | </ | ||
| Ligne 1367: | Ligne 1467: | ||
| </ | </ | ||
| - | En cas de difficultés, | + | En cas de difficultés, |
| <note warning> | <note warning> | ||
| Ligne 1404: | Ligne 1504: | ||
| </ | </ | ||
| - | En cas de difficultés, | + | En cas de difficultés, |
| ===== Conclusion ===== | ===== Conclusion ===== | ||
| Ligne 1412: | Ligne 1512: | ||
| L' | L' | ||
| - | --- // | + | --- // |