45 research outputs found

    Parallélisation sur processeur graphique des techniques d'adaptation de maillage basées sur la maximisation de la conformité à une métrique riemannienne

    Get PDF
    En mécanique des fluides numérique, une manière d’accroitre la précision d’une solution approchée tout en évitant une consommation excessive de ressources informatiques consiste à adapter le maillage au comportement de la solution. Par un processus itératif de résolution-adaptation, la forme et la taille des éléments sont adaptées à la courbure de la solution approchée afin de réduire l’erreur d’interpolation. Avec la croissance en taille des problèmes étudiés en mécanique des fluides, des techniques de parallélisation ont dû être développées pour réduire le temps de calcul des solveurs. Toutefois, si les adaptateurs ne bénéficient pas d’un effort similaire de parallélisation, leur temps de calcul dominera le processus itératif de résolution-adaptation. L’objectif de la présente recherche est de déterminer si les GPU sont en mesure d’accélérer le processus d’adaptation tout en produisant des maillages d’une qualité équivalente aux méthodes actuellement exécutées par le CPU. Par le lemme de Céa, on sait que l’erreur d’approximation est bornée par l’erreur d’interpolation. Produite par un estimateur de l’erreur a posteriori, la fonction métrique spécifie à l’adaptateur la longueur idéale d’une arête en un endroit donné pour une erreur d’interpolation donnée. Des opérations topologiques et géométriques permettent de modifier un maillage initial afin d’uniformiser la conformité de ses éléments à la métrique spécifiée. La présente recherche s’attardera particulièrement aux algorithmes de déplacement de noeuds qui démontrent déjà, en optimisation de maillage, une certaine facilité à être parallélisés sur le GPU. Toutefois, il est attendu que la manipulation des éléments non simpliciaux et que l’échantillonnage précis d’une fonction métrique 3D, caractéristiques nécessaires pour l’adaptation de maillages en mécanique des fluides numérique, causent certains problèmes sur ce type de processeur. Un logiciel d’adaptation de maillage a été développé pour vérifier les hypothèses de cette recherche. Tout le processus d’adaptation est dirigé par la mesure de conformité à la métrique. Sur le CPU, la fonction métrique est échantillonnée par recherche locale dans un maillage de fond. On propose également une nouvelle technique d’échantillonnage pour la métrique sur le GPU sous forme de texture. Une série d’algorithmes de déplacement de noeuds sont implémentés et comparés sur les deux types de processeurs, dont le lissage laplacien, la descente du gradient et Nelder-Mead. Une nouvelle version du lissage laplacien pour l’adaptation de maillage dans une métrique riemannienne est proposée. Également, en plus de l’axe des noeuds, on propose deux nouveaux axes de parallélisation pour les algorithmes de déplacement de noeuds : l’axe des éléments et l’axe des positions. Les détails d’implémentation les plus importants pour porter les algorithmes de déplacement de noeuds sur GPU sont abordés, tels que la traduction des structures de données et la synchronisation des processeurs. Deux technologies pour le développement de noyau de calcul seront comparées : GLSL et CUDA. Les résultats montrent clairement que l’échantillonnage de la fonction métrique par recherche locale n’est pas praticable sur GPU à cause de son grand volume d’instructions et de la divergence qu’elle induit sur les fils d’exécution, contrairement à l’échantillonnage par texture qui démontre d’encourageants taux d’accélération. Bien que l’échantillonnage par texture présente de petits défauts de précision pour les fonctions métriques les plus difficiles, on démontre qu’en augmentant la résolution des textures dans une mesure raisonnable, il est possible de rejoindre la précision du maillage de fond. Quant aux algorithmes de déplacement de noeuds, les algorithmes d’optimisation locale se démarquent du lissage laplacien par leur efficacité, autant pour les maillages tétraédriques qu’hexaédriques. De plus, Nelder-Mead se démarque des algorithmes d’optimisation locale par sa rapidité sur le CPU et le GPU. Les nouveaux espaces de parallélisation explorés sur le GPU ont permis de doubler le taux d’accélération des algorithmes. Par exemple, la version multiaxe de la descente du gradient est 48 à 110 fois plus rapide que sa version séquentielle et la version multiélément de Nelder-Mead est environ 50 fois plus rapide que sa version séquentielle. En somme, le pipeline d’adaptation de maillage optimal retenu échantillonne la métrique dans une texture et déplace les noeuds à l’aide de la version multiélément de Nelder-Mead écrite en CUDA sur le GPU. Malgré la grande portabilité des implémentations GLSL face aux implémentations CUDA, elles présentent de moins bonnes accélérations pour le pipeline optimal et sont souvent instables.---------- ABSTRACT : In numerical fluid mechanics, a way to enhance the precision of an approximate solution while limiting the consumption of computer resources, is to adapt the mesh to the solution’s behavior. By an iterative process of consecutive resolution-adaptation phases, the shape and size of the elements are adapted to the curvature of the approximate solution to reduce the interpolation error. With the ever increasing size of the problems studied in numerical fluid mechanics, multiple techniques of parallelization have been developed to reduce the time needed by solvers to compute a solution. However, if the adapters do not benefit from a similar parallelization effort, their computing time would dominate the overall resolutionadaptation iterative process. This study’s objective is to determine if GPUs are able to accelerate the adaptation process while producing meshes whose quality matches the one produced by current methods on the CPU. By Céa’s lemma, it is known that the approximation error is bounded by the interpolation error. Generated by an a posteriori error estimator, the metric function specifies to the adapter the ideal length of an edge in a given location to obtain a specific interpolation error. Topological and geometrical operations modify an initial mesh in order to uniformize the conformity of its elements to the specified metric. The present study will specifically focus on node relocation algorithms that already demonstrate, in the field of mesh optimization, an ease to be parallelized on GPUs. Although, it is predicted that the manipulation of non simplicial elements and that the precise sampling of a 3D metric function, which are necessary to the adaptation of meshes in numerical fluid mechanics, may cause certain problems for that type of processor. A mesh adaptation software was developed to verify the hypotheses of this research. The entire adaptation process is driven by the measure of metric conformity. On the CPU, the metric function is sampled in a background mesh by local search. The research also proposes to sample the metric function in a texture on the GPU side. A series of node relocation algorithms are implemented and compared on both types of processor, including the Laplacian smoothing, the gradient descent and Nelder-Mead. A new version of the Laplacian smoothing for mesh adaptation in a Riemannian metric is proposed. Furthermore, in addition to the node axis, this study proposes two new parallelization axes for node relocation algorithms: the elements and positions axes. The most important implementation details to port the node relocation algorithms on the GPU are discussed, including processors synchronization and the translation of data structures. Two technologies for the development of GPU kernels are compared: GLSL and CUDA. The results clearly show that the sampling of the metric function by local search is not practical on the GPU because the method is too heavy in terms of instruction count and thread divergence. On the contrary, sampling this function through a texture demonstrates encouraging rates of acceleration. Even though texture sampling presents some precision flaws for the most difficult metric functions, this study demonstrates that by increasing the resolution of the textures by a reasonable amount, it is possible to meet the background mesh’s precision. Concerning the node relocation algorithms, the local optimization algorithms stand out from Laplacian smoothing algorithms by their efficacy, as much on tetrahedral than hexahedral meshes. Furthermore, Nelder-Mead stands out from the local optimization algorithms by its high speed on the CPU as well as on the GPU. The newly explored parallelization axes on the GPU has doubled implementations acceleration rates. For example, the gradient descent’s multiaxis version is between 48 and 110 times faster than its sequential version while Nelder-Mead’s multielement version is approximately 50 times faster than its sequential version. In short, the selected optimal adaptation pipeline samples the metric function in a texture. It uses Nelder-Mead’s multielement version, written in CUDA, to move mesh nodes on the GPU. Despite GLSL’s high portability compared to CUDA, its implementation of the optimal pipeline shows lower acceleration rates and is often unstable

    Analyse, conception et réalisation d'un environnement pour le pilotage et la visualisation en ligne de simulations numériques parallèles

    Get PDF
    Le domaine de la simulation interactive ou computational steering a pour but d'améliorer le processus de simulation numérique (modélisation, calcul, analyse) en le rendant plus interactif. Dans cette approche, le scientifque n'attend plus passivement les résultats de la simulation ; il peut visualiser « en ligne » l'évolution des données calculées et peut interagir à tout moment en modifiant certains paramètres à la volée ou plus généralement en pilotant le déroulement des calculs. Un tel outil peut s'avérer très utile pour la compréhension des phénomènes physiques modélisés et la détection d'erreurs dans le cas de simulations longues. L'objectif de cette thèse est de concevoir et de développer une plate-forme logicielle, appelée EPSN (Environnement pour le Pilotage des Simulations Numériques), permettant de piloter une application numérique parallèle en s'appuyant sur des outils de visualisation eux-mêmes parallèles. En d'autres termes, il s'agit de mettre au service des scientifiques les capacités de la visualisation parallèle et plus largement de la réalité virtuelle (environnement immersif, murs d'images), une étape aujourd'hui cruciale pour la conception et l'exploitation de simulations numériques complexes en vraie grandeur. La mise en œuvre d'un couplage efficace entre simulation et visualisation soulève deux problèmes majeurs, que nous étudions dans cette thèse et pour lesquels nous souhaitons apporter une contribution : le problème de la coordination efficace des opérations de pilotages en parallèle et le problème de la redistribution pour des données complexes (grilles structurées, ensembles de particules, maillages non structurés).The computational steering is an effort to make the typical simulation work-flow (modeling, computing, analyzing) more efficient, by providing online visualization and interactive steering over the on-going computational processes. The online visualization appears very useful to monitor and to detect possible errors in long-running applications, and the interactive steering allows the researcher to alter simulation parameters on-the-fly and to immediately receive feedback on their effects. Thus, the scientist gains an additional insight in the simulation regarding to the cause-and-effect relationship. The purpose of this thesis is to design and to develop a software environment, called EPSN (Environment for the Steering of Parallel Numerical Simulations) that enables to steer parallel simulations with visualization systems that can be parallel as well. In other words, we want to provide an environment that can bene_t from immersive virtual reality technology (e.g. tiled display wall) and that might help scientists to better grasp the complexity of real-life simulations. Such a coupling between parallel numerical simulations and parallel visualization systems raises two crucial issues we investigate in this thesis: the problem of parallel coordination of steering operations and the problem of data redistribution of complex objects such as structured grids, particle set and unstructured meshes

    Calcul haute performance pour la simulation d'interactions fluide-structure

    Get PDF
    Cette thèse aborde la résolution des problèmes d'interaction fluide-structure par un algorithme consistant en un couplage entre deux solveurs : un pour le fluide et un pour la structure. Pour assurer la cohérence entre les maillages fluide et structure, on considère également une discrétisation de chaque domaine par volumes finis. En raison des difficultés de décomposition du domaine en sous-domaines, nous considérons pour chaque environnement un algorithme parallèle de multi-splitting (ou multi-décomposition) qui correspond à une présentation unifiée des méthodes de sous-domaines avec ou sans recouvrement. Cette méthode combine plusieurs applications de points fixes contractantes et nous montrons que, sous des hypothèses appropriées, chaque application de points fixes est contractante dans des espaces de dimensions finies normés par des normes hilbertiennes et non-hilbertiennes. De plus, nous montrons qu'une telle étude est valable pour les résolutions parallèles synchrones et plus généralement asynchrones de grands systèmes linéaires apparaissant lors de la discrétisation des problèmes d'interaction fluide-structure et peut être étendue au cas où le déplacement de la structure est soumis à des contraintes. Par ailleurs, nous pouvons également considérer l’analyse de la convergence de ces méthodes de multi-splitting parallèles asynchrones par des techniques d’ordre partiel, lié au principe du maximum discret, aussi bien dans le cadre linéaire que dans celui obtenu lorsque les déplacements de la structure sont soumis à des contraintes. Nous réalisons des simulations parallèles pour divers cas test fluide-structure sur différents clusters, en considérant des communications bloquantes et non bloquantes. Dans ce dernier cas nous avons eu à résoudre une difficulté d'implémentation dans la mesure où une erreur irrécupérable survenait lors de l'exécution ; cette difficulté a été levée par introduction d’une méthode assurant la terminaison de toutes les communications non bloquantes avant la mise à jour du maillage. Les performances des simulations parallèles sont présentées et analysées. Enfin, nous appliquons la méthodologie présentée précédemment à divers contextes d'interaction fluide-structure de type industriel sur des maillages non structurés, ce qui constitue une difficulté supplémentaire

    Automatisation de la création de scénarios pour les scènes de la visualisation scientifique

    Get PDF
    RÉSUMÉ Bien que l’automatisation de la génération des chemins de caméra soit une pratique courante dans le cinéma et le jeu vidéo, elle fait preuve d’un retard important dans le milieu de la visualisation scientifique. La taille, la nature, la densité du maillage ainsi que l’absence de notions scénaristiques telles que les personnages et les actions font que l’opération d’import de règles de composition issues de domaines artistiques comme le cinéma ou la photographie ainsi que l’application des règles du montage deviennent plus complexe. Ce mémoire introduit une méthodologie qui propose une métamodélisation des attentes des scientifiques vis-à-vis de leurs données ainsi qu’une modélisation des comportements de données qui peuvent les intéresser. Ces modèles permettent de bâtir plus facilement des chemins de caméra pour des scènes numériques issues de simulations ou d’acquisitions. L’application des règles issues de la composition et du montage dans le but de produire des déplacements de caméra préservent l’intention du scientifique deviennent alors plus simple. La méthode a été expérimentée sur un ensemble de scènes issues de la mécanique des fluides et du génie biomédical; les résultats obtenus sur ces scènes nous ont permis de valider le fonctionnement de la méthodologie. Sont également proposés par la méthode un ensemble de paramètres de contrôle afin de modifier le processus de génération pour mieux l’adapter aux besoins précis que peut avoir un scientifique vis-à-vis d’une scène.----------ABSTRACT Automatic camera path generation is a common practice in film making and video games. However, it demonstrated a significant delay in scientific visualization due to the size, the nature, the mesh density and the lack of scriptwriting notions such as characters and actions. In this case, importing cinematography composition, photography composition and match cut rules becomes a more complex operation. This thesis presents a methodology that provides meta-models for the scientists' visualization expectations regarding their data and for the data behaviors that may interest them. These models make the camera paths generation process more intuitive. The application of composition and match cut rules, in order to produce camera moves that preserves the scientist's intention, becomes simpler. The method was tested on a set of scenes from fluid mechanics and biomedical engineering; the obtained results showed that our approach is a simple and efficient way for producing presentation videos. A set of control parameters are also provided by this method, in order to adapt the generation process to the specific needs that a scientist can have regarding his data

    Optimisation de forme multi-objectif sur machines parallèles avec méta-modèles et coupleurs. Application aux chambres de combustion aéronautiques

    Get PDF
    Les normes drastiques sur les émissions d'espèces polluantes et la volonté de réduire les délais de mise sur le marché incitent les motoristes à repenser les concepts de la nouvelle génération de chambre de combustion ainsi que leurs méthodes de conception. Les codes de simulation numérique des écoulements turbulents réactifs, basés sur une approche de moyenne de Reynolds (RANS), sont utilisés depuis quelques années par les ingénieurs dans les phases de conception des foyer aéronautiques. Leur emploi a permis de réduire les temps et les coûts de conception en diminuant notamment le nombre d'essais expérimentaux. La manière d'utiliser ces outils demeure un point clef pour élaborer des environnements d'aide à la décision performants. Le but de ces travaux de thèse est de fournir une méthodologie basée sur des considérations issues de l'optimisation multi- bjectif pour développer un outil de conception automatisé qui intègre des codes de simulation numérique pour évaluer les configurations. En premier lieu, les études rapportées dans ce manuscrit concernent l'automatisation des procédures de simulation en insistant sur les aspects de génération automatique de maillage. Ensuite, le problème des temps de restitution liés à l'utilisation conjointe de techniques d'optimisation et de codes de calcul coûteux en ressources informatiques est adressé en proposant un algorithme basé sur des méta-modèles. L'outil final est construit à partir d'un coupleur de codes parallèles, lui conférant ainsi des caractéristiques intéressantes de performance et de flexibilité. Finalement, après divers tests de validation et d'évaluation, une application sur une chambre de combustion industrielle montre les capacités de la méthode à identifier des configurations prometteuses. ABSTRACT : Drastic norms on pollutant emissions and the need to reduce times to market encourage aeronautical engine manufacturers to reconsider the concepts of the next generation of combustion chamber as well as their design methodologies. Reactive and turbulent simulation codes based on the RANS approach have been used for a few years by engineers in the design cycle of aeronautical combustion chambers. Their use has allowed to reduce development times and costs mostly by decreasing the number of experimental tests. The way to integrate these tools is still a challenging point when the development of an efficient design framework is considered. The aim of this work is to provide a multiobjective optimization based methodology to develop a fully automated tool that evaluates design with simulation codes. First, the studies presented in this report deal with the automation of the simulation processes while insisting on the automatic mesh generation aspects. Then, to reduce the overall response time caused by the use of optimization technics with expensive simulation codes, a strategy based on metamodeling is proposed. The resulting tool is developed with a parallel code coupler offering performance and flexibility to the application. Finally, after some validations and evaluations on test cases, an application on an industrial combustor underlines the capacities of the mehod to identify promising design

    Méthodologie d'optimisation des profils de vitesse à l'entrée des aspirateurs de turbines hydrauliques

    Get PDF
    RÉSUMÉ La motivation à la base de ce projet découle des besoins exprimés par les ingénieurs-concepteurs pour des outils spécialisés, répondant aux exigences des projets de réhabilitation de centrales hydroélectriques. Dans un contexte de réhabilitation d’une centrale hydroélectrique existante, pour concevoir une nouvelle roue de turbine afin de remplacer une ancienne roue et améliorer l'efficacité énergétique globale de l'ensemble du système hydraulique, les concepteurs doivent déterminer quel type d’écoulement en aval de la roue de turbine produira la moins grande perte d'énergie à l'intérieur de l’aspirateur existant. L'approche proposée pour déterminer le comportement de l'écoulement requis de l’aspirateur, consiste à formuler ce problème comme un problème d'optimisation des conditions limites de vitesse à l’entrée de l’aspirateur. Ce projet propose une méthodologie pour formuler et résoudre ce problème d'optimisation basée sur l'algorithme d'optimisation MADS (Mesh Adaptive Direct Search) couplée à une approche de simulation CFD basée sur la résolution des équations de Navier-Stokes en moyenne de Reynolds,et utilisant le modèle de turbulence k-ε standard. Un cadre d'optimisation basé sur Python, appelé cfdOpt, a été développé pour mettre en oeuvre cette méthodologie d'optimisation avec NOMAD et OpenFOAM, qui sont des algorithmes d'optimisation et des codes de simulation CFD à sources ouvertes. Une stratégie de parallélisation a été mise en oeuvre dans cfdOpt pour profiter de la capacité des grappes de calcul à hautes performances afin d’accélérer le processus d'optimisation. Pour garantir l'exactitude des simulations CFD, un exemple typique de simulation de l’aspirateur basé sur ANSYS CFX a été utilisé comme référence pour configurer le cas de simulation avec OpenFOAM. Le modèle de simulation CFD a également été validé par comparaison avec les données expérimentales du projet Porjus U9. La méthodologie a été testée sur deux cas test distincts, un diffuseur conique et l’aspirateur Porjus U9. Les résultats montrent que le facteur de perte d'énergie a été réduit de plus de 60% dans les deux cas d'optimisation par rapport au point de meilleur rendement (BEP) obtenu à l'aide du test du corps solide en rotation. Ces résultats d'optimisation peuvent être utilisés comme référence de conception pour les concepteurs de turbines travaillant sur des projets de réhabilitation de centrales hydroélectriques.----------ABSTRACT The motivation at the root of this project stems from the need of design engineers for specialized tools addressing the requirements of hydraulic power plant rehabilitation projects. To design a new turbine runner to replace an old runner and improve the global energy efficiency of the whole turbine system, designers must determine which types of downstream flow from the turbine runner will yield the least energy loss inside the existing draft-tube. The proposed approach to determine the required draft-tube flow behavior consists in formulating this as an inlet boundary condition optimization problem. This project proposes a methodology to formulate and solve this optimization problem based on the Mesh Adaptive Direct Search (MADS) optimization algorithm coupled to an incompressible Reynolds Averaged Navier-Stokes CFD simulation approach, using the standard k-ε turbulence model. A Python-based optimization framework called cfdOpt was developed to implement this optimization methodology with NOMAD and OpenFOAM, which are open-source optimization algorithm and CFD simulation codes. A parallelization strategy was implemented in cfdOpt to take advantage of high-performance cluster computing capacity for accelerating the optimization process. To guaranteed the correctness of the CFD simulations, a typical draft-tube simulation case based on ANSYS CFX was used as a reference to setup the OpenFOAM simulation case. The CFD simulation model was also validated by comparing with the experimental data from the Porjus U9 project. The methodology was tested on two distinct test cases, a conical diffuser and the Porjus U9 draft-tube. The results show that the energy loss factor was reduced by more than 60% in both optimization cases compared with the best efficiency point found using the solid body rotation test. These optimization results can be used as a design reference for turbine designers working on rehabilitation projects of hydraulic power plants

    Conception et développement d'une solution de diffusion des données géospatiales massives 3D dans un contexte de gestion de risque d'inondations

    Get PDF
    Au Québec, chaque année, les inondations printanières présentent un défi majeur pour les autorités québécoises. Ainsi, l'élaboration de nouveaux outils et de nouvelles méthodes pour diffuser et visualiser des données massives spatiotemporelles 3D dynamiques d'inondation est très important afin de mieux comprendre et gérer les risques reliés aux inondations. Cette recherche s'intéresse à la diffusion de données géospatiales massives 3D (modèles de bâtiments 3D, arbres, modèles numériques d'élévation de terrain (MNE), données LiDAR, imageries aériennes, etc.) en relation avec les inondations. Le problème est qu'il n'existe pas, à travers la littérature, des systèmes de diffusion efficaces des données massives 3D adaptées aux besoins de cette recherche. En ce sens, notre objectif général consiste à développer un outil de diffusion des données géospatiales massives 3D qui sont des bâtiments 3D et des modèles de terrains de haute résolution à l'échelle de la province du Québec. Les défis de diffusion du flux de données massives, nous ramènent à considérer la technique de tuilage 3D pour convertir les données brutes en formats et structures vectoriels plus légers et adaptés à la diffusion comme la spécification "3D Tiles" pour tuiler les bâtiments 3D, les nuages de points LiDAR et d'autres modèles géoréférencés 3D et le maillage irrégulier, notamment les TIN, pour tuiler les modèles numériques de terrain. Aussi, l'utilisation des techniques de traitement parallèle permet de gérer efficacement les flux massifs de données et d'améliorer le temps de traitement permettant ainsi la scalabilité et la flexibilité des systèmes existants. A cet effet, deux pipelines de tuilage ont été développés. Le premier pipeline concerne la création des tuiles de bâtiments 3D selon la spécification "3D Tiles". Le deuxième est pour créer des tuiles de terrain basées sur des maillages irréguliers. Ces pipelines sont ensuite intégrés dans un système de traitement distribué basé sur des conteneurs Docker afin de paralléliser les processus de traitements. Afin de tester l'efficacité et la validité du système développé, nous avons testé ce système sur un jeux de données massif d'environ 2.5 millions bâtiments 3D situés au Québec. Ces expérimentations ont permis de valider et de mesurer l'efficacité du système proposé par rapport à sa capacité de se mettre à l'échelle (Scalabilité) pour prendre en charge, efficacement, les flux massifs de données 3D. Ces expérimentations ont aussi permis de mettre en place des démarches d'optimisation permettant une meilleure performance dans la production et la diffusion des tuiles 3D.Every year, floods present a major challenge for Quebec authorities. Thus, the development of new tools and methods to disseminate and visualize massive 3D dynamic flood data is very important to better understand and manage flood-related risks. This research focuses on the streaming of massive 3D geospatial data (3D building models, trees, digital elevation models (DEM), LiDAR data, aerial imagery, etc.) related to flooding. The problem is that there is no efficient streaming systems in the literature for massive 3D data adapted to the needs of this research. In this sense, our general objective is to develop a tool for the streaming of massive 3D geospatial data which are 3D buildings and high-resolution terrain models at the scale of the province of Quebec. The challenges of streaming massive data lead us to adopt the 3D tiling technique to convert raw data into lighter vector formats and structures suitable for streaming such as the "3D Tiles" specification to tile 3D buildings, LiDAR point clouds and other 3D georeferenced models and irregular meshes, including TIN, to tile digital terrain models. Also, the use of parallel processing techniques allows efficient management of massive data flows and improve processing time allowing the scalability and the flexibility of existing systems. For this purpose, two tiling pipelines have been developed. The first pipeline is for creating 3D building tiles according to the "3D Tiles" specification. The second is for creating terrain tiles based on irregular meshes. These pipelines are then integrated into a distributed processing system based on Docker containers in order to parallelize the treatment processes. To test the efficiency and validity of the developed system, we tested this system on a massive dataset of about 2.5 million 3D buildings located in Quebec. These experiments allowed us to validate and measure the efficiency of the proposed system to be scalable in order to efficiently handle massive 3D data flows. These experiments also allowed to set up optimization approaches allowing a better performance in the production and the streaming of 3D tiles

    Stratégie de parallélisation hybride MPI/OPENMP pour EF, un programme d'analyse par éléments spectraux spécialisé pour la mécanique des fluides

    Get PDF
    RÉSUMÉ Le programme d’analyse par éléments spectraux, EF, est développé au sein de Polytechnique Montréal afin de résoudre des problèmes de dynamique des fluides et de transfert de chaleur. Bénéficiant actuellement d’une parallélisation multi-threads avec l’interface OpenMP, il est optimisé pour le calcul sur des architectures à mémoire partagée uniquement. Typiquement, ces derniers sont munis de processeurs ayant tout au plus quelques dizaines de coeurs. Ce facteur devient limitant pour la réalisation de simulations d’envergure, notamment pour des domaines tridimensionnels. Ce mémoire présente une stratégie de parallélisation hybride MPI/OMP adaptée aux structures de données d’EF, afin de porter le programme sur des environnements à mémoire distribuée disposant de ressources significativement plus grandes. La méthode implémentée utilise également un troisième niveau de parallélisme avec l’ajout d’instructions SIMD. Typiquement, ce dernier permet d’accélérer la phase d’assemblage par un facteur entre 2 et 4. La résolution du système linéaire repose sur l’usage de solveurs directs distribués afin de conserver la robustesse du programme. Les solveurs CPardiso et Mumps sont alors incorporés au programme et leurs performances ont été évaluées sur un problème de diffusion thermique simple. Pour les deux solveurs, les besoins en mémoire sont redistribués équitablement et permettent donc de traîter des problèmes dont la taille excède la capacité maximale d’un seul noeud de calcul. En terme de temps d’exécution, CPardiso offre une certaine accélération pour la phase d’analyse et de factorisation mais aucun gain n’est observé lors de la résolution. Pour Mumps, des mesures préliminaires suggèrent des accélérations plus significatives, même pour la phase de résolution. Toutefois, plus de tests devront être effectués avant de se prononcer définitivement sur ce solveur.----------ABSTRACT EF is a spectral elements analysis software developped by Polytechnique Montréal to solve problems mainly related to fluid dynamics and thermal diffusion. Currently parallelized with OpenMP interface, the software is optimized for shared memory architectures with typically a few dozen cores. This limits the performance for analysis of large scale simulations, particularly for three dimensional domains. This work develops a MPI/OMP hybrid parallelization strategy customized for EF’s data structures in order to run the program on significantly larger resources with distributed memory architectures. OpenMP SIMD constructs are also used in the matrix assembling phase as a third level of parallelization. Typical result shows a speed-up factor between 2 and 4. This strategy uses distributed solvers based on direct methods to maintain the software’s reliability. Cluster Pardiso and Mumps solvers are integrated and their performances evaluated using simple thermal diffusion problem. For both solvers, results show that memory is equitably distributed within each process. Therefore, they are useful for the treatment of large scale problems. Concerning execution time of CPardiso, the analysis phase as well as factorization benefit from hybrid parallelization but no gain is obtained with this method in the solving phase. With Mumps, preliminary results suggest more important speed-ups. However, it has not been tested on large scale problems yet

    Conception et mise en oeuvre d'outils efficaces pour le partitionnement et la distribution parallèles de problèmes numériques de très grande taille

    Get PDF
    Cette thèse porte sur le partitionnement parallèle de graphes et essentiellement sur son application à la renumérotation de matrices creuses. Nous utilisons pour résoudre ce problème un schéma multi-niveaux dont nous avons parallélisé les phases de contraction et d’expansion. Nous avons ainsi introduit pour la phase de contraction un nouvel algorithme de gestion des conflits d’appariements distants, tout en améliorant les algorithmes déjà existants en leur associant une phase de sélection des communications les plus utiles. Concernant la phase de d’expansion, nous avons introduit la notion de graphe bande qui permet de diminuer de manière très conséquente la taille du problème à traiter par les algorithmes de raffinement. Nous avons généralisé l’utilisation de ce graphe bande aux implantations séquentielles et parallèles de notre outil de partitionnement Scotch. Grâce à la présence du graphe bande, nous avons proposé une utilisation nouvelle des algorithmes génétiques dans le cadre de l’expansion en les utilisant comme heuristiques parallèles de raffinement de la partition.This thesis deals with parallel graph partitioning and, more specifically, focuses on its application to sparse matrix ordering. To solve this problem, we use a multi-level scheme, of which we have parallelized the coarsening and uncoarsening phases. We have developed, for the coarsening phase, a new synchronization algorithm to handle conflicts in remote matchings. We have also improved over existing algorithms by adding to them a selection step which aims at keeping only the most useful communications. Regarding the uncoarsening phase, we have introduced the concept of band graph, which allows us to dramatically decrease problem size for refinement algorithms. We have generalized the use of band graphs to the sequential and parallel implementations of our Scotch partitioning tool. Basing on band graphs, we have proposed a new application of genetic algorithms to the uncoarsening phase, using them as parallel refinement algorithms
    corecore