1 / 21

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. Lille, France – 02/12/2009 Journées CIGIL. Utilisation de GPUs et du Cell pour des calculs de neutronique : performances et précision. Outline. Motivations

paulos
Download Presentation

Utilisation de GPUs et du Cell pour des calculs de neutronique : performances et précision

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  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é

  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

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

  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

  6. Algorithme de la méthode d’Arnoldi • Algorithme : • 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

  7. Principe de la méthode ERAM • Contrainte: la taille de V estN x m • Solution : • Faire itérer la méthoded’Arnoldidans un plus petit sous-espace • Explicitly Restarted Arnoldi Method (ERAM)‏ • Algorithme: • Tantque error > tolerance • Faire uneitérationd’Arnoldi • Si nécessaire, redémarrer la méthode avec un nouveau vecteur initial construit avec unecombinaison des vecteurs de Ritz calculésdansArnoldi

  8. Méthode d’ArnoldiOrthogonolisation et calcul de vp dominante (Hilbert matrix)

  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 • Uneitération de la méthoded’Arnoldisurunematriced’Hilbertd’ordre 10240 avec unetaille de sous-espace de 8 : • GPU proche du CPU • Le Cell est500-600x moins précis que le GPU en SP • En DP, le Cell et le CPU calculent le mêmerésultat. Celui du GPU diffère de 4.10-15 02/12/09

  12. ERAMMé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 ε= 10-8. Tests on a Quadro GPU. 02/12/09

  14. Impact sur le temps de calcul, SP (cas facile)‏ ERAM : Hilbert matrix in SP, ε= 10-8. 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 3.10-15 02/12/09

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

  17. Impact sur le temps de calcul, SP (cas sensible)‏ ERAM : DingDong matrix, SP, ε= 10-8. 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 peuventaméliorer la performance : • Cell : 10x, SP ouDP • GPU : 10-20x, SP ouDP • Proche du speed-up obtenu avec le solveurMinos • Impact sur le résultat: • SP : • Erreur de 10-6à 10-5 for GPU, 10-4à 10-3pour le Cell en SP • Le nombred’itérationsvariefortement avec un cas sensible • DP : • Résultat du Cell et du CPU identique • GPU estproche du CPU avec uneerreur de 10-15 02/12/09

  20. Evolutions futures • Nouveau modèle de GPU GT300/Fermi : • Mémoire ECC (Error-CorrectingCode) • Respect complet de la norme IEEE-2008 • Adressagemé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 02/12/09

More Related