1 / 24

ANR PARMAT Optimisation & Parallélisation Lakimoca A. De Backer LMPGM, Université Lille 1 EDF-MMC

ANR PARMAT Optimisation & Parallélisation Lakimoca A. De Backer LMPGM, Université Lille 1 EDF-MMC Mars 2009. Parallélisation Lakimoca.

ellard
Download Presentation

ANR PARMAT Optimisation & Parallélisation Lakimoca A. De Backer LMPGM, Université Lille 1 EDF-MMC

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. ANR PARMAT Optimisation & Parallélisation Lakimoca A. De Backer LMPGM, Université Lille 1 EDF-MMC Mars 2009

  2. Parallélisation Lakimoca Lakimoca est un code de simulation de l'évolution spatio-temporelle du dommage d'irradiation à l’échelle (100 nm)3,qui est utilisé pour l’étude du vieillissement des aciers Les simulations actuelles arrivent à saturation Début de l’optimisation, octobre 2008 : • Etude préliminaire sur la cinétique du code • Bibliographie sur les stratégies de parallélisation • Débroussaillage du « First Passage » • Optimisation « au coup par coup »

  3. ième événement Γi 0 Γtotale U×Γtotale LakimocaMonte Carlo Cinétique d’objets While (t < tend) choix_evenement mise_a_jour(t) case 1 : mouvement 2 : emission 3 : irradiation  bcq d’objets mais peu fréquent recombinaison  Link Cell if (necessaire) delete(obj)  « dégringoler » le bas des listes if (necessaire) recalculer sum_proba  parcourir la liste d’objets recalculer Link Cell

  4. Etude préliminaire Fer + 0.003 % défauts, irradiation faible, temps longs Entrée: Irradiation, Taux fixe Sortie: Annihilation Recombinaison Taux lié à la diffusion: Fonction de la température Deux régimes en fonction du rapport, r = irradiation/diffusion Basse température, 100 K --- Haute température, 573 K ~ 1 --- ~ 10-13 t >> --- t << peu d’itérations --- beaucoup d’itérations beaucoup d’objets --- peu d’objets

  5. Temps physique en cours de simu t = 1/( irradiation +  i ) Temps, dpa et nombre de défauts augmentent très vite t >> Mais  car il y a de plus en plus d’objets

  6. Tous les défauts mobiles disparaissent avant l’occurrence d’une nouvelle irradiation t << Mais  car le nombre d’objets diminue jusqu’à la nouvelle cascade

  7. Optimisation • Basse température ou forte irradiation  beaucoup d’objets  parallélisation • Haute température  accélération de la diffusion  First Passage • Pourquoi paralléliser à HT ? Pour une boîte plus grande  Condition aux limites périodiques = « irradiation pulsée »  très peu de gros amas = statistique tronquée  densité de dislocations trop grande MAIS que deviendra la cinétique du code ???

  8. Parallélisation • Partition de la boîte en super-cellules, SC • N Monte Carlo simultanés • Communications entre les PE pour le transfert d’objets et la mise à jour du « link cell » • t sont différents dans chaque SC • Chaque nouvelle itération désynchronise les SC • Evénements aux frontières peuvent corrompre l’histoire : conflits de causalité

  9. Réponses de la bibliographie • Synchronisation des PE grâce aux « barrières » à t + delta_t  nombre d’itérations différent sur chaque PE • Synchronisation forcée par ajout de l’événement nul de probabilité adaptée • Traitement des conflits de causalité  analyse de l’histoire à posteriori

  10. Γi = Γmax SCi Évé. nul SCj Evénement nul E. Martinez … J. Marian, 2007 Que faire en cas de conflits • Rejet de l’histoire corrompue et redémarrage au « premier » conflit • Boucle de relaxation compte tenu de la connaissance de l’histoire, S. G. Eick …B. D. Lubachevsky, 1993

  11. Algorithme asynchroneB. D. Lubachevsky • « seuls les traînards travaillent »  « virtual time horizon » Evénement Interaction temps temps Corruption ! Site / objet Site / objet Autorisés à avancer Autorisé à avancer (a) 1 à la fois (b) avance multiple

  12. Time Warp • Tous les PE avancent « à leur rythme » • Optimisme : passage de messages d’informations et de démentis Hybrid Asynchrone • Zone « bouclier » sur les bords et on attend les voisins si on doit la modifier •  pas applicable à Lakimoca • Y. Shim, J. G. Amar, J. Comput. Phys. 212 (2006) 305-317

  13. Stratégie pour Lakimoca • Boucle MC ~ 2 s • Temps de communication ~ latence Blue Gene ~ 10 s / cluster ~ 200 s  10 / 100 itérations « isolées » • Est-ce réaliste ?  taux de passages de frontière ?  quels sont les problèmes ?

  14. Purement lié à la diffusion ~ 2 – 20 % des événements occasionnent un changement de SC • Plus de 80 % retraversent la frontière après moins de 10 sauts  Elargissement de la frontière SC2 : Suit ses objets jusque là Voit jusque là SC2 SC1 SC1 : Suit ses objets jusque là Voit jusque là double compétence Zone fantôme

  15. Corruption de l’histoire SCj où t = tj > ti SCi où t = ti tj = 1/( irradiation +  i ) non modifié « à temps » Recombinaison non réalisée et/ou tj non modifié à temps Événement lié au nouvel objet non traité

  16. Stratégie d’identification du « vrai conflit inévitable » • Mémorisation de l’histoire • Utilisation de l’événement nul: • une « réserve » pour les modifications de j • Correction des événements non-traités • Correction de l’histoire a posteriori • Accepter un « biais » par rapport au KMC séq  hypothèse : peu de « vrais conflits »

  17. Accélération de la diffusionFirst Passage,… V. V. Bulatov, … Phys. Rev. Let. 97, 230602 (2006). • domaines de protection • probabilité de First Passage • position anticipée • construction d’un échéancier

  18. Lakimoca • domaine de protection • probabilité de First Passage • construction d’un échéancier • position anticipée • taille limitée par la présence de pièges et optimum « non -géométrique » car plusieurs ordre de grandeur de diffusion • calculée par Monte Carlo sur le réseau discret  facile et flexible • assez perturbant pour Lakimoca • Ok avec « cube » anticipé et probabilités cumulées pour tirage aléatoire rapide MAIS donné l’idée de « micro-sauts » (plutôt que « macro-sauts ») … ! Probabilités différentes de celle du first passage ! ! Question de la disparité des probabilités de diffusion !

  19. Micro-saut • idée : remplacer x sauts discrets par un grand • +  t’ = x t • –  sites voisins non-équiprobables • +  sélection rapide : probabilité cumulée d’atteindre le cube de dimension a  a  a en x sauts • +  nombre d’appels à recomb() réduit d’un facteur x • – comment évaluer la valeur de x autorisée • +  on accède facilement aux distances aux plus proches objets lors du dernier appel de la fonction recomb() • + +

  20. Profilage au cas par cas • Observations pragmatiques : quels sont les fonctions les plus coûteuses pour chaque nouvelles simulations • Suppression de certains appels à sqrt() • Prise en compte contiguïté des données en mémoire (dans la parcours des tableaux) • Suppression de l’appel systématique à une partie de la fonction recomb() grâce à un critère de distance vis-à-vis de « grands » objets peu mobiles • Groupement d’objets pour accélérer la recherche de l’événement MC … en cours

  21. Irradiation aux électrons lame mince (surface en z) flux de 1.5 10-4 dpa/s T=473K box 100x100x1000 Simulation de 1200 à 1220 secondes Version Temps de calcul o119 813 sec o120e (après optimisation) 720 sec % cumulative self self total time seconds seconds calls s/call s/call name 75.10 542.13 542.13 74683458 0.00 0.00 choix_event 6.33 587.85 45.72 161081 0.00 0.00 calc_obj_sum_proba 4.00 616.71 28.86 135002 0.00 0.00 delete_obj 3.63 642.94 26.22 74754004 0.00 0.00 recomb 1.71 655.27 12.33 74608208 0.00 0.00 one_move 1.51 666.20 10.93 7470 0.00 0.00 LC_find_ncell 1.28 675.43 9.23 143113926 0.00 0.00 i_ii_recomb 1.01 682.73 7.30 1 7.30 720.78 lkmc_obj_steps 0.97 689.76 7.03 74683458 0.00 0.00 do_one_event 0.94 696.56 6.80 74558513 0.00 0.00 sink_grain_boundary 0.88 702.92 6.36 44672518 0.00 0.00 LC_chg_cell Travail en cours (grouping method) pour optimiser choix_event()

  22. Scaling avec la taille de boite Irradiation aux électrons lame mince flux de 1.5 10-4 dpa/s T=473K box 200x200x1000 Simulation de 1200 à 1220 secondes Version Temps de calcul Temps de calcul 100x100x1000 200x200x1000 o119 813 sec 6135 sec (3252 sec si x4) o120e (après optimisation) 720 sec 5308 sec (2280 sec si x4) BOX 100x100x1000 % cumulative self self total time seconds seconds calls s/call s/call name 75.10 542.13 542.13 74683458 0.00 0.00 choix_event 6.33 587.85 45.72 161081 0.00 0.00 calc_obj_sum_proba 4.00 616.71 28.86 135002 0.00 0.00 delete_obj 3.63 642.94 26.22 74754004 0.00 0.00 recomb 1.71 655.27 12.33 74608208 0.00 0.00 one_move 1.51 666.20 10.93 7470 0.00 0.00 LC_find_ncell 1.28 675.43 9.23 143113926 0.00 0.00 i_ii_recomb 1.01 682.73 7.30 1 7.30 720.78 lkmc_obj_steps 0.97 689.76 7.03 74683458 0.00 0.00 do_one_event 0.94 696.56 6.80 74558513 0.00 0.00 sink_grain_boundary 0.88 702.92 6.36 44672518 0.00 0.00 LC_chg_cell

  23. Irradiation sous flux de neutrons Irradiation en volume flux de cascade T = 573 K Simulation de 250.000 à 270.000 secondes Version Temps de calcul o119 2270 sec o120e (après optimisation) 376 sec gain facteur 6

More Related