Utilisation de Jacket pour diminuer le temps de calcul de

Transcription

Utilisation de Jacket pour diminuer le temps de calcul de
Utilisation de Jacket pour diminuer le temps de
calcul de programmes MATLAB
Alexandre Desfossés Foucault
Université de Montréal
Département de mathématiques et statistiques
Octobre 2012
A. Desfossés
Utilisation de Jacket pour diminuer le temps de calcul de programm
Plan de la présentation
1
C’est quoi Jacket ?
2
Comment on s’en sert au DMS ?
3
Accélération des opérations matricielles
1
2
3
4
Exécution de plusieurs opérations indépendantes en
parallèle
1
2
5
Exemples de Base
Résolution d’une EDP
Simulation de feux de forêt
Exemples de base
Application à l’homogénéisation d’une EDP
Conclusion
A. Desfossés
Utilisation de Jacket pour diminuer le temps de calcul de programm
C’est quoi Jacket ?
1
Add-on de matlab
2
“Nouvelles” cartes graphiques avec beaucoup de
processeurs
3
Calculs sur le GPU au lieu de sur le CPU
4
http://www.accelereyes.com/jacket_tour?idx=2
A. Desfossés
Utilisation de Jacket pour diminuer le temps de calcul de programm
Comment on s’en sert au DMS ?
1
Ordinateur avec Jacket installé au labomat : lionceau
2
Path de jacket :/local/jacket-2.0/jacket/engine/
3
Pour tester que ça marche : ginfo
A. Desfossés
Utilisation de Jacket pour diminuer le temps de calcul de programm
GINFO
Jacket v2.0 (build b71ce48) by AccelerEyes (64-bit Linux) A
newer version of Jacket is available. You’re currently running
Jacket 2.0, please consider updating. Visit
http://www.accelereyes.com/download_jacket
License Type : Designated Computer
(/local/jacket-2.0/jacket/engine/jlicense.dat) Addons : none
CUDA toolkit 4.0, driver 295.40 GPU1 GeForce GTX 480, 1536
MB, Compute 2.0 (single,double) Display Device : GPU0
GeForce GTX 480 Memory Usage : 1309 MB free (1536 MB
total)
A. Desfossés
Utilisation de Jacket pour diminuer le temps de calcul de programm
Accélération des opérations matricielles
Alexandre, montre le fichier
JacketOperationsMatricielles.m
Temps de calcul JACKET vs CPU pour la multiplication matricielle
0.25
Jacket
CPU
0.2
Temps de calcul
1
0.15
0.1
0.05
0
0
500
Taille
A. Desfossés
1000
1500
des
matrices
Utilisation
de Jacket pour diminuer le temps de calcul de programm
Accélération des opérations matricielles
1
Autres exemples
http://wiki.accelereyes.com/wiki/index.php/Jacke
2
http://wiki.accelereyes.com/wiki/index.php/Jacke
3
Remarque : “warm-up” de Jacket
A. Desfossés
Utilisation de Jacket pour diminuer le temps de calcul de programm
Résolution d’une EDP
1
Résolution de φt + k∇φk = 0
2
Sans Jacket : 9.0598e+00 vs Avec Jacket : 8.7827e-01
pour 1281x1281 points
3
Sans Jacket : 1.0066e-01 vs Avec Jacket : 4.2761e-01
pour 161x161 points
4
Ça vaut la peine si le nombre de points dans le domaine
est assez élevé
A. Desfossés
Utilisation de Jacket pour diminuer le temps de calcul de programm
Simulation de feux de forêt
1
Même genre d’EDP que précédemment
2
Plusieurs centaines de ligne de code, mais changements
mineurs pour faire tourner les calculs sur le GPU
3
http://wiki.accelereyes.com/wiki/index.php/Jacke
4
Avec Jacket : 9.8 secondes
5
Sans Jacket : 19.2 secondes (1200x1200 points)
6
CPU plus rapide si 300x300
A. Desfossés
Utilisation de Jacket pour diminuer le temps de calcul de programm
Exécution de plusieurs opérations indépendentes en
parallèle
1
boucle GFOR
2
Utiliser si les itérations sont indépendantes les unes des
autres
3
Exemple 1 : Résoudre Ax = pb pour plusieurs valeurs du
scalaire p
4
Voir fichier JacketGFOR
A. Desfossés
Utilisation de Jacket pour diminuer le temps de calcul de programm
Application à l’homogénéisation d’une EDP de type
Hamilton-Jacobi
1
Problème : résoudre wt + H(∇w + p, x) = 0 pour plusieurs
valeurs de p
2
Sans GFOR : 83.1692 secondes
3
Avec GFOR : 26.9336 secondes
A. Desfossés
Utilisation de Jacket pour diminuer le temps de calcul de programm
Conclusion
1
Effort minimal pour “Jacketizer” le code
2
Bons gains en temps de calcul
A. Desfossés
Utilisation de Jacket pour diminuer le temps de calcul de programm

Documents pareils