1 |
Couplage de modèles, algorithmes multi-échelles et calcul hybride / Model coupling and hybrid computing for multi-scale CFDEtancelin, Jean-Matthieu 04 December 2014 (has links)
Dans cette thèse nous explorons les possibilités offertes par l'implémentation de méthodes hybrides sur des machines de calcul hétérogènes dans le but de réaliser des simulations numériques de problèmes multiéchelles. La méthode hybride consiste à coupler des méthodes de diverses natures pour résoudre les différents aspects physiques et numériques des problèmes considérés. Elle repose sur une méthode particulaire avec remaillage qui combine les avantages des méthodes Lagrangiennes et Eulériennes. Les particules sont déplacées selon le champ de vitesse puis remaillées à chaque itération sur une grille en utilisant des formules de remaillage d'ordre élevés. Cette méthode semi-Lagrangienne bénéficie des avantages du maillage régulier mais n'est pas contrainte par une condition de CFL.Nous construisons une classe de méthodes d'ordre élevé pour lesquelles les preuves de convergence sont obtenues sous la seule contrainte de stabilité telle que les trajectoires des particules ne se croisent pas.Dans un contexte de calcul à haute performances, le développement du code de calcul a été axé sur la portabilité afin de supporter l'évolution rapide des architectures et leur nature hétérogène. Une étude des performances numériques de l'implémentation GPU de la méthode pour la résolution d'équations de transport est réalisée puis étendue au cas multi-GPU. La méthode hybride est appliquée à la simulation du transport d'un scalaire passif dans un écoulement turbulent 3D. Les deux sous-problèmes que sont l'écoulement turbulent et le transport du scalaire sont résolus simultanément sur des architectures multi-CPU et multi-GPU. / In this work, we investigate the implementation of hybrid methods on heterogeneous computers in order to achieve numerical simulations of multi-scale problems. The hybrid numerical method consists of coupling methods of different natures to solve the physical and numerical characteristics of the problem. It is based on a remeshed particle method that combines the advantages of Lagrangian and Eulerian methods. Particles are pushed by local velocities and remeshed at every time-step on a grid using high order interpolation formulas. This forward semi-lagrangian method takes advantage of the regular mesh on which particles are reinitialized but is not limited by CFL conditions.We derive a class of high order methods for which we are able to prove convergence results under the sole stability constraint that particle trajectories do not intersect.In the context of high performance computing, a strong portability constraint is applied to the code development in order to handle the rapid evolution of architectures and their heterogeneous nature. An analysis of the numerical efficiency of the GPU implementation of the method is performed and extended to multi-GPU platforms. The hybrid method is applied to the simulation of the transport of a passive scalar in a 3D turbulent flow. The two sub-problems of the flow and the scalar calculations are solved simultaneously on multi-CPU and multi-GPU architectures.
|
2 |
Contribution à la résolution de problèmes d'optimisation combinatoire : méthodes séquentielles et parallèlesLalami, Mohamed Esseghir 05 October 2012 (has links) (PDF)
Les problèmes d'optimisation combinatoire sont souvent des problèmes très difficiles dont la résolution par des méthodes exactes peut s'avérer très longue ou peu réaliste. L'utilisation de méthodes heuristiques permet d'obtenir des solutions de bonne qualité en un temps de résolution raisonnable. Les heuristiques sont aussi très utiles pour le développement de méthodes exactes fondées sur des techniques d'évaluation et de séparation. Nous nous sommes intéressés dans un premier temps à proposer une méthode heuristique pour le problème du sac à dos multiple MKP. L'approche proposée est comparée à l'heuristique MTHM et au solveur CPLEX. Dans un deuxième temps nous présentons la mise en œuvre parallèle d'une méthode exacte de résolution de problèmes d'optimisation combinatoire de type sac à dos sur architecture GPU. La mise en œuvre CPU-GPU de la méthode de Branch and Bound pour la résolution de problèmes de sac à dos a montré une accélération de 51 sur une carte graphique Nvidia Tesla C2050. Nous présentons aussi une mise en œuvre CPU-GPU de la méthode du Simplexe pour la résolution de problèmes de programmation linéaire. Cette dernière offre une accélération de 12.7 sur une carte graphique Nvidia Tesla C2050. Enfin, nous proposons une mise en œuvre multi-GPU de l'algorithme du Simplexe, mettant à contribution plusieurs cartes graphiques présentes dans une même machine (2 cartes Nvidia Tesla C2050 dans notre cas). Outre l'accélération obtenue par rapport à la mise en œuvre séquentielle de la méthode du Simplexe, une efficacité de 96.5 % est obtenue, en passant d'une carte à deux cartes graphiques.
|
3 |
Contribution à la résolution de problèmes d'optimisation combinatoire : méthodes séquentielles et parallèles.Lalami, Mohamed Esseghir 05 October 2012 (has links) (PDF)
Les problèmes d'optimisation combinatoire sont souvent des problèmes très difficiles dont la résolution par des méthodes exactes peut s'avérer très longue ou peu réaliste. L'utilisation de méthodes heuristiques permet d'obtenir des solutions de bonne qualité en un temps de résolution raisonnable. Les heuristiques sont aussi très utiles pour le développement de méthodes exactes fondées sur des techniques d'évaluation et de séparation. Nous nous sommes intéressés dans un premier temps à proposer une méthode heuristique pour le problème du sac à dos multiple MKP. L'approche proposée est comparée à l'heuristique MTHM et au solveur CPLEX. Dans un deuxième temps nous présentons la mise en oeuvre parallèle d'une méthode exacte de résolution de problèmes d'optimisation combinatoire de type sac à dos sur architecture GPU. La mise en oeuvre CPU-GPU de la méthode de Branch and Bound pour la résolution de problèmes de sac à dos a montré une accélération de 51 sur une carte graphique Nvidia Tesla C2050. Nous présentons aussi une mise en oeuvre CPU-GPU de la méthode du Simplexe pour la résolution de problèmes de programmation linéaire. Cette dernière offre une accélération de 12.7 sur une carte graphique Nvidia Tesla C2050. Enfin, nous proposons une mise en oeuvre multi-GPU de l'algorithme du Simplexe, mettant à contribution plusieurs cartes graphiques présentes dans une même machine (2 cartes Nvidia Tesla C2050 dans notre cas). Outre l'accélération obtenue par rapport à la mise en oeuvre séquentielle de la méthode du Simplexe, une efficacité de 96.5 % est obtenue, en passant d'une carte à deux cartes graphiques.
|
4 |
Solving dense linear systems on accelerated multicore architectures / Résoudre des systèmes linéaires denses sur des architectures composées de processeurs multicœurs et d’accélerateursRémy, Adrien 08 July 2015 (has links)
Dans cette thèse de doctorat, nous étudions des algorithmes et des implémentations pour accélérer la résolution de systèmes linéaires denses en utilisant des architectures composées de processeurs multicœurs et d'accélérateurs. Nous nous concentrons sur des méthodes basées sur la factorisation LU. Le développement de notre code s'est fait dans le contexte de la bibliothèque MAGMA. Tout d'abord nous étudions différents solveurs CPU/GPU hybrides basés sur la factorisation LU. Ceux-ci visent à réduire le surcoût de communication dû au pivotage. Le premier est basé sur une stratégie de pivotage dite "communication avoiding" (CALU) alors que le deuxième utilise un préconditionnement aléatoire du système original pour éviter de pivoter (RBT). Nous montrons que ces deux méthodes surpassent le solveur utilisant la factorisation LU avec pivotage partiel quand elles sont utilisées sur des architectures hybrides multicœurs/GPUs. Ensuite nous développons des solveurs utilisant des techniques de randomisation appliquées sur des architectures hybrides utilisant des GPU Nvidia ou des coprocesseurs Intel Xeon Phi. Avec cette méthode, nous pouvons éviter l'important surcoût du pivotage tout en restant stable numériquement dans la plupart des cas. L'architecture hautement parallèle de ces accélérateurs nous permet d'effectuer la randomisation de notre système linéaire à un coût de calcul très faible par rapport à la durée de la factorisation. Finalement, nous étudions l'impact d'accès mémoire non uniformes (NUMA) sur la résolution de systèmes linéaires denses en utilisant un algorithme de factorisation LU. En particulier, nous illustrons comment un placement approprié des processus légers et des données sur une architecture NUMA peut améliorer les performances pour la factorisation du panel et accélérer de manière conséquente la factorisation LU globale. Nous montrons comment ces placements peuvent améliorer les performances quand ils sont appliqués à des solveurs hybrides multicœurs/GPU. / In this PhD thesis, we study algorithms and implementations to accelerate the solution of dense linear systems by using hybrid architectures with multicore processors and accelerators. We focus on methods based on the LU factorization and our code development takes place in the context of the MAGMA library. We study different hybrid CPU/GPU solvers based on the LU factorization which aim at reducing the communication overhead due to pivoting. The first one is based on a communication avoiding strategy of pivoting (CALU) while the second uses a random preconditioning of the original system to avoid pivoting (RBT). We show that both of these methods outperform the solver using LU factorization with partial pivoting when implemented on hybrid multicore/GPUs architectures. We also present new solvers based on randomization for hybrid architectures for Nvidia GPU or Intel Xeon Phi coprocessor. With this method, we can avoid the high cost of pivoting while remaining numerically stable in most cases. The highly parallel architecture of these accelerators allow us to perform the randomization of our linear system at a very low computational cost compared to the time of the factorization. Finally we investigate the impact of non-uniform memory accesses (NUMA) on the solution of dense general linear systems using an LU factorization algorithm. In particular we illustrate how an appropriate placement of the threads and data on a NUMA architecture can improve the performance of the panel factorization and consequently accelerate the global LU factorization. We show how these placements can improve the performance when applied to hybrid multicore/GPU solvers.
|
Page generated in 0.054 seconds