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

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

Embed Size (px)

Citation preview

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

ANR PARMATOptimisation & Parallélisation Lakimoca

A. De Backer

LMPGM, Université Lille 1EDF-MMC

Mars 2009

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

Parallélisation LakimocaLakimoca 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 »

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

LakimocaMonte Carlo Cinétique d’objets

While (t < tend)choix_evenementmise_a_jour(t)case

1 : mouvement2 : emission3 : irradiation bcq d’objets mais peu fréquent

recombinaison Link Cellif (necessaire) delete(obj) « dégringoler » le bas des listes if (necessaire)

recalculer sum_proba parcourir la liste d’objetsrecalculer Link Cell

U×Γtotale

ième événement

Γi Γtotale0

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

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

Etude préliminaire

Entrée:Irradiation,Taux fixe

Sortie:AnnihilationRecombinaisonTaux lié à la diffusion:Fonction de la température

Fer + 0.003 % défauts, irradiation faible, temps longs

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

Temps physique en cours de simu

Temps, dpa et nombre de défauts augmentent très vitet >>Mais car il y a de plus en plus d’objets

t = 1/( irradiation + i )

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

Tous les défauts mobiles disparaissent avant l’occurrence d’une nouvelle irradiationt <<Mais car le nombre d’objets diminue jusqu’à la nouvelle cascade

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

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 ???

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

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é

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

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

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

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

Evénement nulE. Martinez … J. Marian, 2007

i

i

Évé. nul

SCi

SCj

Γi = Γmax

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

Algorithme asynchroneB. D. Lubachevsky

• « seuls les traînards travaillent »

« virtual time horizon »

temps

Site / objet

(a) 1 à la fois

temps

Site / objet

(b) avance multipleAutorisé à avancer Autorisés à avancer

EvénementInteraction

Corruption !

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

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 à LakimocaY. Shim, J. G. Amar, J. Comput. Phys. 212 (2006) 305-317

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

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 ?

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

• 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

SC1 SC2

Zone fantôme

SC2 :Suit ses objets jusque làVoit jusque là

SC1 :Suit ses objets jusque là

Voit jusque là

double compétence

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

Corruption de l’histoire

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é

SCi où t = ti SCj où t = tj > ti

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

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 »

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

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

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

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 !

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

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()+ +

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

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

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

flux de 1.5 10-4 dpa/s T=473Kbox 100x100x1000

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

Simulation de 1200 à 1220 secondes

Travail en cours(grouping method)pour optimiser choix_event()

Irradiation aux électrons lame mince (surface en z)

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

Irradiation aux électrons lame minceflux de 1.5 10-4 dpa/s T=473Kbox 200x200x1000

Version Temps de calcul Temps de calcul100x100x1000 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

Simulation de 1200 à 1220 secondes

Scaling avec la taille de boite

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

Irradiation en volume flux de cascadeT = 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

Irradiation sous flux de neutrons