Spelling suggestions: "subject:"mémoire limitée"" "subject:"émoire limitée""
1 |
Fast nonlinear solvers in solid mechanics / Solveurs non linéaires rapides en mécanique des solidesMercier, Sylvain 31 October 2015 (has links)
La thèse a pour objectif le développement de méthodes performantes pour la résolution de problèmes non linéaires ne mécanique des solides. Il est coutume d'utiliser une méthode de type Newton qui conduit à la résolution d'une séquence de systèmes linéaires. De plus, la prise en compte des relations linéaires imposées à l'aide de multiplicateurs de Lagrange confère aux matrices une structure de point-selle. Dans un cadre plus général, nous proposons, étudions et illustrons deux classes d'enrichissement de préconditionneurs (limited memory preconditioners) pour la résolution de séquences de systèmes linéaires par une méthode de Krylov. La première est un extension au cas symétrique indéfini d'une méthode existante, développée initialement dans le cadre symétrique défini positif. La seconde est plus générale dans le sens où elle s'applique aus systèmes non symétriques. Ces deux familles peuvent être interprétées comme des variantes par blocs de formules de mise à jour utilisées dans différentes méthodes d'optimisation. Ces techniques ont été développées dans le logiciel de mécanique des solides Code_Aster (dans un environnement parallèle distribué via la bibliothèque PETSc) et sont illustrées sur plusieurs études industrielles. Les gains obtenus en terme de coût de calcul sont significatifs (jusqu'à 50%), pour un surcoût mémoire négligeable. / The thesis aims at developing efficient numerical methods to solve nonlinear problems arising un solid mechanics. In this field, Newton methods are currently used, requiring the solution of a sequence of linear systems. Furthermore, the imposed linear relations are dualized with the Lagrange multipliers, leading to matrices with a saddle point structure. In a more general framework, we propose two classes of preconditioners (named limited memory preconditioners) to solve sequences of linear systems with a Krylov subspace method. The first class is based on an extension of a method initially developed for symmetric positive definite matrices to the symmetric indefinite case. Both families can be interpreted as block variants of updating formulas used in numerical optimization. They have been implemented into the Code_Aster solid mechanics software (in a parallel distributed environement using the PETSc library). These new preconditioning strategies are illustrated on several industrial applications. We obtain significant gains in computational cost (up to 50%) at a marginal overcost in memory.
|
2 |
Algorithmes d'approximation à mémoire limitée pour le traitement de grands graphes : le problème du Vertex CoverCampigotto, Romain 06 December 2011 (has links) (PDF)
Nous nous sommes intéressés à un problème d'optimisation sur des graphes (le Vertex Cover) dans un contexte de traitement bien particulier : celui des grandes instances de données. Nous avons défini pour cela un modèle de traitement basé sur des contraintes liées principalement à la quantité de mémoire limitée, modèle qui reprenait des propriétés issues de plusieurs modèles existants dans la littérature (online, streaming...). Nous avons étudié plusieurs algorithmes adaptés à ce modèle : nous avons analysé, tout d'abord de façon théorique, la qualité de leurs solutions ainsi que leurs complexités (en pire cas et en moyenne). Nous avons ensuite mené une étude expérimentale sur de très gros graphes.
|
3 |
Ordonnancement de graphes de tâches sur des plates-formes de calcul modernes / Scheduling task graphs on modern computing platformsSimon, Bertrand 04 July 2018 (has links)
Cette thèse porte sur trois thématiques principales liées à l'ordonnancement de graphes de tâches sur des plates-formes de calcul modernes. Un graphe de tâches est une modélisation classique d'un programme à exécuter, par exemple une application de calcul scientifique. La décomposition d'une application en différentes tâches permet d'exploiter le parallélisme potentiel de cette application sans adapter le programme à la plate-forme de calcul visée. Le graphe décrit ces tâches ainsi que leurs dépendances, certaines tâches ne pouvant être exécutées avant que d'autres ne soient terminées. L'exécution d'une application est alors déterminée par un ordonnancement du graphe, calculé par un logiciel dédié, qui décrit entre autres quelles ressources sont allouées à chaque tâche et à quel moment. Les trois thèmes étudiés sont les suivants: exploiter le parallélisme intrinsèque des tâches, utiliser des accélérateurs tels que des GPU, et prendre en compte une mémoire limitée.Certaines applications présentent deux types de parallélisme que l'on peut exploiter: plusieurs tâches peuvent être exécutées simultanément, et chaque tâche peut être exécutée sur plusieurs processeurs afin de réduire son temps de calcul. Nous proposons et étudions deux modèles permettant de régir ce temps de calcul, afin d'exploiter ces deux types de parallélisme.Nous étudions ensuite comment utiliser efficacement des accélérateurs de calcul tels que des GPU, dans un contexte dynamique où les futures tâches à ordonnancer ne sont pas connues. La difficulté principale consiste à décider si une tâche doit être exécutée sur l'un des rares accélérateurs disponibles ou sur l'un des nombreux processeurs classiques. La dernière thématique abordée concerne le problème d'une mémoire principale limitée, et le recours à des transferts de données coûteux. Nous avons traité ce problème via deux scénarios. S'il est possible d'éviter de tels transferts, nous avons proposé de modifier le graphe afin de garantir que toute exécution ne dépasse pas la mémoire disponible, ce qui permet d'ordonnancemer les tâches dynamiquement au moment de l'exécution. Si tout ordonnancement nécessite des transferts, nous avons étudié le problème consistant à minimiser leur quantité.L'étude de ces trois thèmes a permis de mieux comprendre la complexité de ces problèmes. Les solutions proposées dans le cadre d'étude théorique pourront influencer de futures implémentations logicielles. / This thesis deals with three main themes linked to task graph scheduling on modern computing platforms. A graph of tasks is a classical model of a program to be executed, for instance a scientific application. The decomposition of an application into several tasks allows to exploit the potential parallelism of this application without adaptating the program to the computing platform. The graph describes the tasks as well as their dependences, some tasks cannot be initiated before others are completed. The execution of an application is then determined by a schedule of the graph, computed by a dedicated software, which in particular describes which resources should be allocated to each task at which time. The three studied themes are the following: exploit inner task parallelism, use accelerators such as GPUs, and cope with a limited memory.For some applications, two types of parallelism can be exploited: several tasks can be executed concurrently, and each task may be executed on several processors, which reduces its processing time. We propose and study two models allowing to describe this processing time acceleration, in order to efficiently exploit both types of parallelism.We then study how to efficiently use accelerators such as GPUs, in a dynamic context in which the future tasks to schedule are unknown. The main difficulty consists in deciding whether a task should be executed on one of the rare available accelerators or on one of the many classical processors. The last theme covered in this thesis deals with a available main memory of limited size, and the resort to expensive data transfers. We focused on two scenarios. If it is possible to avoid such transfers, we propose to modify the graph in order to guarantee that any execution fits in memory, which allows to dynamically schedule the graph at runtime. If every schedule needs transfers, we studied how to minimize their quantity.The work on these three themes has led to a better understanding of the underlying complexities. The proposed theoretical solutions will influence future software implementations.
|
4 |
Calcul parallèle et méthodes numériques pour la simulation de plasmas de bords / Parallel computing and numerical methods for boundary plasma simulationsKuhn, Matthieu 29 September 2014 (has links)
L'amélioration du code Emedge3D (code de bord électromagnétique) est abordée sous plusieurs axes. Premier axe, des innovations sur les méthodes numériques ont été mises en oeuvre. L'avantage des méthodes de type semi-implicite est décrit, leur stabilité inconditionnelle permet l'augmentation du pas de temps, et donc la diminution du nombre d'itérations temporelles requises pour une simulation. Les avantages de la montée en ordre en espace et en temps sont détaillés. Deuxième axe, des réponses sont proposées pour la parallélisation du code. Le cadre de cette étude est proche du problème général d'advection-diffusion non linéaire. Les parties coûteuses ont tout d'abord été optimisées séquentiellement puis fait l'objet d'une parallélisation OpenMP. Pour la partie du code la plus sensible aux contraintes de bande passante mémoire, une solution parallèle MPI sur machine à mémoire distribuée est décrite et analysée. Une bonne extensibilité est observée jusque 384 cœurs. Cette thèse s'inscrit dans le projet interdisciplinaire ANR E2T2 (CEA/IRFM, Université Aix-Marseille/PIIM, Université Strasbourg/Icube). / The main goal of this work is to significantly reduce the computational cost of the scientific application Emedge3D, simulating the edge of tokamaks. Improvements to this code are made on two axes. First, innovations on numerical methods have been implemented. The advantage of semi-implicit time schemes are described. Their inconditional stability allows to consider larger timestep values, and hence to lower the number of temporal iteration required for a simulation. The benefits of a high order (time and space) are also presented. Second, solutions to the parallelization of the code are proposed. This study addresses the more general non linear advection-diffusion problem. The hot spots of the application have been sequentially optimized and parallelized with OpenMP. Then, a hybrid MPI OpenMP parallel algorithm for the memory bound part of the code is described and analyzed. Good scalings are observed up to 384 cores. This Ph. D. thesis is part of the interdisciplinary project ANR E2T2 (CEA/IRFM, University of Aix-Marseille/PIIM, University of Strasbourg/ICube).
|
Page generated in 0.0648 seconds