11.07.2015 Views

Projet SIMSURF - Institut Farman

Projet SIMSURF - Institut Farman

Projet SIMSURF - Institut Farman

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Découpage du problèmeBoiteenglobanteimpossibleTransformationde coordonnéessystématique!configuration 1a- pour chaque brin- pour chaque positionnement- pour chaque trianglealgorithme élémentaireconfiguration 2a- pour chaque positionnement- pour chaque brin- pour chaque trianglealgorithme élémentaireconfiguration 3a- pour chaque triangle- pour chaque brin- pour chaque positionnementalgorithme élémentaireconfiguration 1b- pour chaque brin- pour chaque triangle- pour chaque positionnementalgorithme élémentaireconfiguration 2b- pour chaque positionnement- pour chaque triangle- pour chaque brinalgorithme élémentaireconfiguration 3b- pour chaque triangle- pour chaque positionnement- pour chaque brinalgorithme élémentaireOpérationsatomiquesobligatoiresThread àgranularitéélevée (coarse)Thread àgranularitéfaible (fine)8


Benchmarks : résultatsCalculs grande échelle (macro géométrie)N = 1024 ; M = 1024Configuration%Time%(ms)% %GPU%speedupPath P %Tool% T CPU% coarse% finedownspiral%% 2,00E+05 cone 64 280 5.8 %2.8volcano% 2,00E+05 sphere 1081 1081 %5.4% 2.1ebauche 47837 %tore% 25904 7891 5.1% 1.7finition 53667 sphere 12482 11542 4,9 4,2Tous les positions Psont « utiles »« Coarse »1 thread = T*B opér.produit T x B moyenchaque thread est bien occupéspeed up / CPU ≈ 5« Fine »1 thread = B opér.B très faiblechaque thread est très peu occupéspeed up / CPU ≈ 2.510


Benchmarks : résultatsCalculs petite échelle (micro géométrie)N = 1024 ; M = 1024Configuration%Time%(ms)% %GPU%speedupZoom Path P %Tool% T CPU% coarse% finex64 downspiral%% 2,00E+05 cone 64 510 0,22 3,6x64 volcano% 2,00E+05 sphere 1081 158 0,11 3,2x8 ebauche 47837 %tore% 25904 973 0,28 3,3x64 finition 53667 sphere 12482 15520 3,3 4,1Nombre de positions Pinintéressant élevé :déséquilibre entre threads(certains vides)« Coarse »1 thread = T*B opér.produit T x B très élevéchaque thread est très occupéspeed up / CPU ≈ 0.2« Fine »1 thread = B opér.B moyenchaque thread est bien occupéspeed up / CPU ≈ 3.511


Conclusion et perspectives• Prototypage d’un logiciel beaucoup plus rapide sur du matérielstandard (speed-up x100)• Nécessité de compétences pointues en informatique pour tirer lesmeilleures performances des GPU• Les optimisations ont également profité à la version CPU multi cores• Interface graphique environnement Linux• Phase 2• Elaborer automatiquement la distribution des calculs sur les threads selonla taille du problème et le hardware• Distribuer les calculs sur plusieurs GPU• Implémenter un modèle stochastique pour simuler des écartsgéométriques inférieurs au micromètre12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!