Metafor

ULiege - Aerospace & Mechanical Engineering

User Tools

Site Tools


commit:2018:01_26

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
commit:2018:01_26 [2018/01/26 18:04] crutzencommit:2018:01_26 [2018/01/29 10:18] (current) crutzen
Line 11: Line 11:
 Figure 2: Répartition du temps d'horloge dans le pas Eulérien (6 threads). Figure 2: Répartition du temps d'horloge dans le pas Eulérien (6 threads).
  
-Toutefois, ces petites modifications du code a priori anodines ont débouchés sur des problèmes particulièrement difficiles à cerner et à surmonter. En effet, suite à cette implantation des boucles parallèles dans les mises à jour du maillage volumes finis, j’ai, d’emblée, rencontré de nombreux plantages dans la batterie de cas-tests. Pire, les cas-tests plantés étaient différents selon les stations de travail utilisées et à chaque réalisation de la batterie. Bref, les résultats de la batterie étaient devenus totalement non-déterministes. De toute évidence, l’ensemble des cas-tests concernés par ces plantages était en particulier les cas-tests de remaillage (''apps.remeshing'', ''apps.remeshing2'', ''apps.welding'' et ''apps.welding2'') ainsi que les cas-tests en formalisme ALE.+Toutefois, ces petites modifications du code a priori anodines ont débouché sur des problèmes particulièrement difficiles à cerner et à surmonter. En effet, suite à cette implantation des boucles parallèles dans les mises à jour du maillage volumes finis, j’ai, d’emblée, rencontré de nombreux plantages dans la batterie de cas-tests. Pire, les cas-tests plantés étaient différents selon les stations de travail utilisées et à chaque réalisation de la batterie. Bref, les résultats de la batterie étaient devenus totalement non-déterministes. De toute évidence, l’ensemble des cas-tests concernés par ces plantages était en particulier les cas-tests de remaillage (''apps.remeshing'', ''apps.remeshing2'', ''apps.welding'' et ''apps.welding2'') ainsi que les cas-tests en formalisme ALE.
  
 Pour parvenir à identifier l’origine de ces plantages, il nous faut récupérer l’erreur à l’aide du débogueur de Visual Studio. Pour ce faire, deux options sont possibles : Pour parvenir à identifier l’origine de ces plantages, il nous faut récupérer l’erreur à l’aide du débogueur de Visual Studio. Pour ce faire, deux options sont possibles :
Line 71: Line 71:
  
 ===== Interaction partielle ===== ===== Interaction partielle =====
-Il est à noter que la mise en place de l’implémentation expliquée ci-dessus a eu un des effets collatéraux sur les cas-tests ''apps.welding2''. En effet, j’ai été confronté à d’autres plantages, des plantages systématiques des cas-tests ''apps.welding2''.+Il est à noter que la mise en place de l’implémentation expliquée ci-dessus a eu un effet collatéral sur les cas-tests ''apps.welding2''. En effet, j’ai été confronté à d’autres plantages, des plantages systématiques des cas-tests ''apps.welding2''.
 L’erreur rencontrée est que les interactions partielles (utilisées pour le transfert de données) ont leur attribut ''shcut'' qui pointe vers ''NULL'' après avoir généré leurs éléments. Cela nous empêche, dans la méthode ''toDofSet(InteractionSet *boundaries, LoadingSet *bcLoads)'' de la classe ''IPMeshBuilder'', de remonter à ''pointersToSets'' pour préallouer la mémoire des vecteurs de la base de données juste avant la génération du maillage volumes finis au travers des boucles parallèles (''update()''). L’erreur rencontrée est que les interactions partielles (utilisées pour le transfert de données) ont leur attribut ''shcut'' qui pointe vers ''NULL'' après avoir généré leurs éléments. Cela nous empêche, dans la méthode ''toDofSet(InteractionSet *boundaries, LoadingSet *bcLoads)'' de la classe ''IPMeshBuilder'', de remonter à ''pointersToSets'' pour préallouer la mémoire des vecteurs de la base de données juste avant la génération du maillage volumes finis au travers des boucles parallèles (''update()'').
  
commit/2018/01_26.1516986254.txt.gz · Last modified: 2018/01/26 18:04 by crutzen

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki