La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Lille, France – 02/12/2009 Journées CIGIL

Présentations similaires


Présentation au sujet: "Lille, France – 02/12/2009 Journées CIGIL"— Transcription de la présentation:

1 Lille, France – 02/12/2009 Journées CIGIL
Utilisation de GPUs et du Cell pour des calculs de neutronique : performances et précision Jérôme Dubois, Serge Petiton, Christophe Calvin CEA Saclay – DEN/DANS/DM2S/SERMA/LLPR University of Lille 1 – LIFL/MAP 02/12/09

2 Outline Motivations Caractéristiques principales
Méthodes de Krylov: Arnoldi et ERAM Précision pour une itération d’Arnoldi Performances et impact de la precision pour ERAM : Arnoldi itéré 02/12/09

3 Motivations Champs d’application : simulation de coeur de réacteur, neutronique Objectif : MINOS détermine le k-effective ratio + autres données Data : Matrices creuses et larges jeux de données (Goctets) Intensité des calculs : transposition de matrice + résolution de système Speed-ups : 15x avec Tesla, 5x with Quadro GPU 02/12/09

4 Caractéristiques principales(1)‏
Meilleure performance crête : ~1-10x (vs Nehalem 8 cores) Meilleure bande passante mémoire : ~1-20x 02/12/09

5 Caractéristiques principales(2)‏
Norme IEEE admise Processeur Cell : 8 SPEs non complètement IEEE en SP : No multiple rounding modes Exception handled by saturation (NaN, inf, ...)‏ 8 SPEs complètement IEEE en DP GPU : Proche de la norme IEEE Mais pas complètement en SP & DP : FMAD result truncated IEEE exceptions handled differently 02/12/09

6 Algorithme de la méthode d’Arnoldi
Input : ANxN, v0 Output : VNxm, Hm+1xm, λ1, ..., λm, R1, ..., Rm> Calculer m produits matrice vecteur, + opérations BLAS 1 pour obtenir : V* A V = H Avec H Hessenberg et V orthogonale Calculer les valeurs propres intéressantes dans H Projeter les vecteurs propres associés de l’espace de H dans l’espace de A Estimation de l’erreur 02/12/09

7 Principe de la méthode ERAM
Contrainte : la taille de V est N x m Solution : Faire itérer la méthode d’Arnoldi dans un plus petit sous-espace Explicitly Restarted Arnoldi Method (ERAM)‏ Algorithme : Tant que error > tolerance Faire une itération d’Arnoldi Si nécessaire, redémarrer la méthode avec un nouveau vecteur initial construit avec une combinaison des vecteurs de Ritz calculés dans Arnoldi 02/12/09

8 Méthode d’Arnoldi Orthogonolisation et calcul de vp dominante (Hilbert matrix)
02/12/09

9 Précision atteinte pour l’orthogonalisation
Arnoldi CGS : orthogonal basis‏ 02/12/09

10 Précision atteinte pour l’orthogonalisation
Arnoldi CGS with reorthogonalization : orthogonal basis‏ 02/12/09

11 Influence sur la valeur propre dominante calculée
Une itération de la méthode d’Arnoldi sur une matrice d’Hilbert d’ordre avec une taille de sous-espace de 8 : GPU proche du CPU Le Cell est x moins précis que le GPU en SP En DP, le Cell et le CPU calculent le même résultat. Celui du GPU diffère de 02/12/09

12 ERAM Méthode d’Arnoldi itérée (Hilbert & DingDong matrices)
02/12/09

13 Impact sur le nombre d’itérations, SP (cas facile)‏
ERAM : Hilbert matrix, SP, tolerance ε= Tests on a Quadro GPU. 02/12/09

14 Impact sur le temps de calcul, SP (cas facile)‏
ERAM : Hilbert matrix in SP, ε= Speed-up = 8x with Quadro GPU 02/12/09

15 Impact sur le nombre d’itérations, DP (cas facile)‏
Same number of iterations between CPU and GPU (Tesla) in DP Mean speed-up of 17x between CPU and Tesla GPU, with an error of 02/12/09

16 Impact sur le nombre d’itérations (cas sensible)‏
ERAM : DingDong matrix, SP , stop at ε= Tests on Tesla GPU. 02/12/09

17 Impact sur le temps de calcul, SP (cas sensible)‏
ERAM : DingDong matrix, SP, ε= Mean speed-up = 16x on Tesla 02/12/09

18 Impact sur la précision, SP (cas sensible)‏
ERAM : DingDong matrix, SP, ε= 10-8. 02/12/09

19 Conclusion Le GPU et le Cell peuvent améliorer la performance :
Cell : 10x, SP ou DP GPU : 10-20x, SP ou DP Proche du speed-up obtenu avec le solveur Minos Impact sur le résultat: SP : Erreur de 10-6 à 10-5 for GPU, 10-4 à 10-3 pour le Cell en SP Le nombre d’itérations varie fortement avec un cas sensible DP : Résultat du Cell et du CPU identique GPU est proche du CPU avec une erreur de 10-15 02/12/09

20 Evolutions futures Nouveau modèle de GPU GT300/Fermi :
Mémoire ECC (Error-Correcting Code) Respect complet de la norme IEEE-2008 Adressage mémoire 64 bits, cartes de 6Go prévues, ->1To! Ajout de caches L1 et L2 Support natif du C++ Puissance en DP multipliée par 8x : ~125 GFLOPs -> ~1TFLOPs Puissance SP multipliée par 2x : ~1TFLOPs -> 2TFLOPs 02/12/09

21 Merci pour votre attention !
Utilisation de GPUs et du Cell pour des calculs de neutronique : performances and precision Merci pour votre attention ! 02/12/09


Télécharger ppt "Lille, France – 02/12/2009 Journées CIGIL"

Présentations similaires


Annonces Google