19 research outputs found

    Parallel Sparse Matrix Solver on the GPU Applied to Simulation of Electrical Machines

    Get PDF
    Nowadays, several industrial applications are being ported to parallel architectures. In fact, these platforms allow acquire more performance for system modelling and simulation. In the electric machines area, there are many problems which need speed-up on their solution. This paper examines the parallelism of sparse matrix solver on the graphics processors. More specifically, we implement the conjugate gradient technique with input matrix stored in CSR, and Symmetric CSR and CSC formats. This method is one of the most efficient iterative methods available for solving the finite-element basis functions of Maxwell's equations. The GPU (Graphics Processing Unit), which is used for its implementation, provides mechanisms to parallel the algorithm. Thus, it increases significantly the computation speed in relation to serial code on CPU based systems

    Integrating Profiling into MDE Compilers

    Get PDF
    International audienceScientific computation requires more and more performance in its algorithms. New massively parallel architectures suit well to these algorithms. They are known for offering high performance and power efficiency. Unfortunately, as parallel programming for these architectures requires a complex distribution of tasks and data, developers find difficult to implement their applications effectively. Although approaches based on source-to-source intends to provide a low learning curve for parallel programming and take advantage of architecture features to create optimized applications, programming remains difficult for neophytes. This work aims at improving performance by returning to the high-level models, specific execution data from a profiling tool enhanced by smart advices computed by an analysis engine. In order to keep the link between execution and model, the process is based on a traceability mechanism. Once the model is automatically annotated, it can be re-factored aiming better performances on the re-generated code. Hence, this work allows keeping coherence between model and code without forgetting to harness the power of parallel architectures. To illustrate and clarify key points of this approach, we provide an experimental example in GPUs context. The example uses a transformation chain from UML-MARTE models to OpenCL code

    Parallel Direct Solver for the Finite Integration Technique in Electrokinetic Problems

    Get PDF
    International audienceThe finite integration technique allows the simulation of real-world electromagnetic field problems with complex geometries. It provides a discrete reformulation of Maxwell's equations in their integral form suitable for numerical computing. The resulting matrix equations of the discretized fields can be used for efficient numerical simulations on modern computers and can be exploited to use a parallel computing. In fact, by reordering the unknowns by the nested dissection method, it is possible to directly construct the lower triangular matrix of the Cholesky factorization with many processors without assembling the matrix system. In this paper, a parallel algorithm is proposed for the direct solution of large sparse linear systems with the finite integration technique. This direct solver has the advantage of handling singularities in the matrix of linear systems. The computational effort for these linear systems, often encountered in numerical simulation of electromagnetic phenomena by finite integration technique, is very significant in terms of run-time and memory requirements. Many numerical tests have been carried out to evaluate the performance of the parallel direct solver. Index Terms—Finite element methods, finite integration technique, linear systems, numerical analysis, parallel algorithms

    Méthodes de Krylov : régularisation de la solution et accélération de la convergence

    No full text
    Many problems in scientific computation require to solve linear systems. Recent efficient solvers are based on Krylov methods. Their solution space is a Krylov subspace and the solution is then defined by an orthogonality condition, called Galerkin's condition.In the first part, the definition of the solution is modified for the resolution of ill-conditionned systems and a new regularization technique, based on polynomial filters, is introduced. The main interest in the method is that the shape of the filters is independant of the method. It can be arbitrary, and thus directed by the specificities of the problem.In the second part, the solution space is modified to accelerate the convergence. Two techniques are proposed. The first allows a Krylov subspace to be reused in the solution of a succeeding equation. The second, based on deflation techniques, tries to dampen the effect of the smallest eigenvalues. Moreover, it can be refined when solving multiple systems, to progressively eliminate the impact of these small eigenvalues. These algorithms are implemented and tested on problems from image analysis and mecanic. This numerical validation confirms the theoretical results.De nombreux problèmes de calcul scientifique réclament la résolution de systèmes linéaires. Des algorithmes récents et performants pour résoudre ces systèmes sont basés sur les méthodes de Krylov. L'espace des solutions de celles-ci est un espace de Krylov et la solution est alors définie par une condition d'orthogonalité dite de Galerkin. Dans une première partie, on modifie la définition de la solution pour la résolution de systèmes mal-conditionnés, en introduisant une nouvelle technique de régularisation basée sur des filtres polynomiaux. Le point fort de cette méthode est que la forme des filtres n'est pas fixée par la méthode mais peut être quelconque, et donc dictée par les spécificités du problème. Dans la seconde partie, on modifie l'espace des solutions pour accélérer la convergence. Deux techniques sont explorées. La première permet de recycler un espace de Krylov utilisé pour résoudre une première équation. La seconde, basée sur des techniques de déflation, cherche à atténuer l'effet néfaste des plus petites valeurs propres. Cette dernière peut, de plus, s'affiner lors de la résolution de plusieurs systèmes, jusqu'à éliminer complètement l'impact de ces petites valeurs propres. Tous ces algorithmes sont implémentés et testés sur des problèmes issus de l'analyse d'images et de la mécanique. Cette validation numérique confirme les résultats théoriques

    Méthodes de Krylov : régularisation de la solution et accélération de la convergence

    No full text
    Many problems in scientific computation require to solve linear systems. Recent efficient solvers are based on Krylov methods. Their solution space is a Krylov subspace and the solution is then defined by an orthogonality condition, called Galerkin's condition.In the first part, the definition of the solution is modified for the resolution of ill-conditionned systems and a new regularization technique, based on polynomial filters, is introduced. The main interest in the method is that the shape of the filters is independant of the method. It can be arbitrary, and thus directed by the specificities of the problem.In the second part, the solution space is modified to accelerate the convergence. Two techniques are proposed. The first allows a Krylov subspace to be reused in the solution of a succeeding equation. The second, based on deflation techniques, tries to dampen the effect of the smallest eigenvalues. Moreover, it can be refined when solving multiple systems, to progressively eliminate the impact of these small eigenvalues. These algorithms are implemented and tested on problems from image analysis and mecanic. This numerical validation confirms the theoretical results.De nombreux problèmes de calcul scientifique réclament la résolution de systèmes linéaires. Des algorithmes récents et performants pour résoudre ces systèmes sont basés sur les méthodes de Krylov. L'espace des solutions de celles-ci est un espace de Krylov et la solution est alors définie par une condition d'orthogonalité dite de Galerkin. Dans une première partie, on modifie la définition de la solution pour la résolution de systèmes mal-conditionnés, en introduisant une nouvelle technique de régularisation basée sur des filtres polynomiaux. Le point fort de cette méthode est que la forme des filtres n'est pas fixée par la méthode mais peut être quelconque, et donc dictée par les spécificités du problème. Dans la seconde partie, on modifie l'espace des solutions pour accélérer la convergence. Deux techniques sont explorées. La première permet de recycler un espace de Krylov utilisé pour résoudre une première équation. La seconde, basée sur des techniques de déflation, cherche à atténuer l'effet néfaste des plus petites valeurs propres. Cette dernière peut, de plus, s'affiner lors de la résolution de plusieurs systèmes, jusqu'à éliminer complètement l'impact de ces petites valeurs propres. Tous ces algorithmes sont implémentés et testés sur des problèmes issus de l'analyse d'images et de la mécanique. Cette validation numérique confirme les résultats théoriques

    Programmer avec des fonctions hardware et software

    Get PDF
    FPGAs support the implementation of a wide range of functionalities, from general-purpose processors (Softcores) to dedicated hardware accelerators (Intellectual Properties). This blurs the traditional line between software and hardware, since in many cases a functionality can be achieved either by executing code on a softcore or by running an IP. In this paper we focus on programming parallel architectures where IPs are interconnected using softcores. We propose a programming language, called HiHope, which exploits this kind of architecture. HiHope includes constructs for switching at runtime between hardware functions (implemented by IPs) and software functions in a transparent way. It also contains constructs for executing parallel functions (either hardware or software ones) and for redefining functions dynamically. We show how HiHope programs can be compiled for execution on master-slave parallel architectures based on the HoMade processor, a softcore processor designed as an IP integrator

    The Adjoint Variable Method for Computational Electromagnetics

    No full text
    Optimization using finite element analysis and the adjoint variable method to solve engineering problems appears in various application areas. However, to the best of the authors’ knowledge, there is a lack of detailed explanation on the implementation of the adjoint variable method in the context of electromagnetic modeling. This paper aimed to provide a detailed explanation of the method in the simplest possible general framework. Then, an extended explanation is offered in the context of electromagnetism. A discrete design methodology based on adjoint variables for magnetostatics was formulated, implemented, and verified. This comprehensive methodology supports both linear and nonlinear problems. The framework provides a general approach for performing a very efficient and discretely consistent sensitivity analysis for problems involving geometric and physical variables or any combination of the two. The accuracy of the implementation is demonstrated by independent verification based on an analytical test case and using the finite-difference method. The methodology was used to optimize the parameters of a superconducting energy storage device and a magnet press and the optimization of the topology of an electromagnet. The objective function of each problem was successfully decreased, and all constraints stipulated were met

    A New Preconditionner Based on F.I.T Applied To Solve F.E.M Problem

    No full text
    International audienceThis paper deals with a preconditionner based on Finite Integration Technique (FIT) for solving Finite Element Method (FEM) problem. The geometry are twice meshed, one regular coarse used by FIT and a second irregular fine for FEM. The solution of the problem FIT is applied to preconditioned the FEM problem

    Test Harness on a Preconditioned Conjugate Gradient Solver on GPUs: An Efficiency Analysis

    Get PDF
    International audienceThe parallelization of numerical simulation algorithms, i.e., their adaptation to parallel processing architectures, is an aim to reach in order to hinder exorbitant execution times. The parallelism has been imposed at the level of processor architectures and graphics cards are now used for general-purpose calculation, also known as " General-Purpose computation on Graphics Processing Unit (GPGPU) ". The clear benefit is the excellent performance over price ratio. Besides hiding the low level programming, software engineering leads to a faster and more secure application development. This paper presents the real interest of using GPU processors to increase performance of larger problems which concern electrical machines simulation. Indeed, we show that our auto-generated code applied to several models allows achieving speedups of the order of 10
    corecore