16 research outputs found

    Automatic Generation of Fast and Certified Code for Polynomial Evaluation

    Get PDF
    International audienceDesigning an efficient floating-point implementation of a function based on polynomial evaluation requires being able to find an accurate enough evaluation program, exploiting at most the target architecture features. This article introduces CGPE, a tool dealing with the generation of fast and certified codes for the evaluation of bivariate polynomials. First we discuss the issue underlying the evaluation scheme combinatorics before giving an overview of the CGPE tool. The approach we propose consists in two steps: the generation of evaluation schemes by using some heuristics so as to quickly find some of low latency; and the selection that mainly consists in automatically checking their scheduling on the given target and validating their accuracy. Then, we present on-going development and ideas for possible improvements of the whole process. Finally, we illustrate the use of CGPE on some examples, and show how it allows us to generate fast and certified codes in a few seconds and thus to reduce the development time of libms like FLIP

    Computing specified generators of structured matrix inverses

    Get PDF
    International audienceThe asymptotically fastest known divide-and-conquer methods for inverting dense structured matrices are essentially variations or extensions of the Morf/Bitmead-Anderson algorithm. Most of them must deal with the growth in length of intermediate generators, and this is done by incorporating various generator compression techniques into the algorithms. One exception is an algorithm by Cardinal, which in the particular case of Cauchy-like matrices avoids such growth by focusing on well-specied, already compressed generators of the inverse. In this paper, we extend Cardinal's method to a broader class of structured matrices including those of Vandermonde, Hankel, and Toeplitz types. Besides, some rst experimental results illustrate the practical interest of the approach

    LEMA: Towards a Language for Reliable Arithmetic

    Get PDF
    Generating certified and efficient numerical codes requires information ranging from the mathematical level to the representation of numbers. Even though the mathematical semantics can be expressed using the content part of MathML, this language does not encompass the implementation on computers. Indeed various arithmetics may be involved, like floating-point or fixed-point, in fixed precision or arbitrary precision, and current tools cannot handle all of these. Therefore we propose in this paper LEMA (Langage pour les Expressions Mathématiques Annotées), a descriptive language based on MathML with additional expressiveness. LEMA will be used during the automatic generation of certified numerical codes. Such a generation process typically involves several steps, and LEMA would thus act as a glue to represent and store the information at every stage. First, we specify in the language the characteristics of the arithmetic as described in the IEEE 754 floating-point standard: formats, exceptions, rounding modes. This can be generalized to other arithmetics. Then, we use annotations to attach a specific arithmetic context to an expression tree. Finally, considering the evaluation of the expression in this context allows us to deduce several properties on the result, like being exact or being an exception. Other useful properties include numerical ranges and error bounds

    Pathogenic variants in RNPC3 are associated with hypopituitarism and primary ovarian insufficiency

    Get PDF
    Purpose We aimed to investigate the molecular basis underlying a novel phenotype including hypopituitarism associated with primary ovarian insufficiency. Methods We used next-generation sequencing to identify variants in all pedigrees. Expression of Rnpc3/RNPC3 was analyzed by in situ hybridization on murine/human embryonic sections. CRISPR/Cas9 was used to generate mice carrying the p.Leu483Phe pathogenic variant in the conserved murine Rnpc3 RRM2 domain. Results We described 15 patients from 9 pedigrees with biallelic pathogenic variants in RNPC3, encoding a specific protein component of the minor spliceosome, which is associated with a hypopituitary phenotype, including severe growth hormone (GH) deficiency, hypoprolactinemia, variable thyrotropin (also known as thyroid-stimulating hormone) deficiency, and anterior pituitary hypoplasia. Primary ovarian insufficiency was diagnosed in 8 of 9 affected females, whereas males had normal gonadal function. In addition, 2 affected males displayed normal growth when off GH treatment despite severe biochemical GH deficiency. In both mouse and human embryos, Rnpc3/RNPC3 was expressed in the developing forebrain, including the hypothalamus and Rathke’s pouch. Female Rnpc3 mutant mice displayed a reduction in pituitary GH content but with no reproductive impairment in young mice. Male mice exhibited no obvious phenotype. Conclusion Our findings suggest novel insights into the role of RNPC3 in female-specific gonadal function and emphasize a critical role for the minor spliceosome in pituitary and ovarian development and function

    Calcul efficace avec des matrices structurées et des expressions arithmétiques

    No full text
    Designing efficient code in practice for a given computation is a hard task. In this thesis, we tackle this issue in two different situations. The first part of the thesis introduces some algorithmic improvements in structured linear algebra. We first show how to extend an algorithm by Cardinal for inverting Cauchy-like matrices to the other common structures. This approach, which mainly relies on products of the type "structured matrix × matrix", leads to a theoretical speed-up of a factor up to 7 that we also observe in practice. Then, we extend some works on Toeplitz-like matrices and prove that, for any of the common structures, the product of an n×n structured matrix of displacement rank α by an n×α matrix can be computed in Õ(α^(ω-1)n). This leads to direct inversion algorithms in Õ(α^(ω-1)n) , that do not rely on a reduction to the Toeplitz-like case. The second part of the thesis deals with the implementation of arithmetic expressions. This topic raises several issues like finding the minimum number of operations, and maximizing the speed or the accuracy when using some finite-precision arithmetic. Making use of the inductive nature of arithmetic expressions enables the design of algorithms that help to answer such questions. We thus present a set of algorithms for generating evaluation schemes, counting them, and optimizing them according to one or several criteria. These algorithms are part of a library that we have developed and used, among other things, in order to decrease the running time of a code generator for a mathematical library, and to study optimality issues about the evaluation of a small degree polynomial with scalar coefficients at a matrix point.Le développement de code efficace en pratique pour effectuer un calcul donné est un problème difficile. Cette thèse présente deux situations où nous avons été confronté à ce problème. La première partie de la thèse propose des améliorations au niveau algorithmique dans le cadre de l'algèbre linéaire structurée. Nous montrons d'abord comment étendre un algorithme de Cardinal pour l'inversion de matrices de type Cauchy afin de traiter les autres structures classiques. Cette approche, qui repose essentiellement sur des produits de type « matrice structurée × matrice », conduit à une accélération d'un facteur allant jusqu'à 7 en théorie et constaté en pratique. Ensuite, nous généralisons des travaux sur les matrices de type Toeplitz afin de montrer comment, pour les structures classiques, calculer le produit d'une matrice structurée n×n et de rang de déplacement α par une matrice n×α en Õ(α^(ω-1)n). Cela conduit à des algorithmes en Õ(α^(ω-1)n) pour l'inversion de matrices structurées, sans avoir à passer par des matrices de type Toeplitz. La deuxième partie de la thèse traite de l'implantation d'expressions arithmétiques. Ce sujet soulève de nombreuses questions comme le nombre d'opérations minimum, la vitesse, ou encore la précision des calculs en arithmétique approchée. En exploitant la nature inductive des expressions arithmétiques, il est possible de développer des algorithmes aidant à répondre à ces questions. Nous présentons ainsi plusieurs algorithmes de génération de schémas d'évaluation, de comptage et d'optimisation selon un ou plusieurs critères. Ces algorithmes ont été implanté dans une librairie qui a en autre été utilisée pour accélérer un logiciel de génération de code pour une librairie mathématique, et pour étudier des questions d'optimalité pour le problème de l'évaluation d'un polynôme à coefficients scalaires de petit degré en une matrice

    Automated Synthesis of Target-Dependent Programs for Polynomial Evaluation in Fixed-Point Arithmetic

    No full text
    Abstract—The design of both fast and numerically accurate programs is a real challenge. Thus, the CGPE tool was introduced to assist programmers in synthesizing fast and numerically certified codes in fixed-point arithmetic for the particular case of polynomial evaluation. For performance purposes, this tool produces programs using exclusively unsigned arithmetic and addition/subtraction or multiplication operations, thus requiring some constraints on the fixed-point operands. These choices are well-suited when dealing with the implementation of certain mathematical functions, however they prevent from tackling a broader class of polynomial evaluation problems. In this paper, we first extend the arithmetic model of CGPE to handle signed arithmetic and alignment shifts. Then, in order to make the most out of advanced instructions, we propose an enhancement of this tool based on instruction selection. This allows us to optimize the generated codes according to different criteria, like operation count, evaluation latency, or accuracy. Finally, we illustrate this technique on operation count, and we show that it yields an average reduction of up to 22.3 % of the number of operations in the synthesized codes of some functions. Keywords—fixed-point arithmetic, automated code synthesis, error analysis, polynomial evaluation I

    Extending Cardinal's algorithm to a broader class of structured matrices

    No full text
    Abstract of a poster at ISSAC 2009International audienc

    On Matrices With Displacement Structure: Generalized Operators and Faster Algorithms

    Get PDF
    International audienceFor matrices with displacement structure, basic operations like multiplication, inversion , and linear system solving can all be expressed in terms of the following task: evaluate the product AB, where A is a structured n × n matrix of displacement rank α, and B is an arbitrary n × α matrix. Given B and a so-called generator of A, this product is classically computed with a cost ranging from O(α^2 M (n)) to O(α^2 M (n) log(n)) arithmetic operations, depending on the type of structure of A; here, M is a cost function for polynomial multiplication. In this paper, we first generalize classical displacement operators, based on block diagonal matrices with companion diagonal blocks, and then design fast algorithms to perform the task above for this extended class of struc-tured matrices. The cost of these algorithms ranges from O(α^{ω−1} M (n)) to O(α^{ω−1} M (n) log(n)), with ω such that two n × n matrices over a field can be multiplied using O(n^ω) field operations. By combining this result with classical randomized regularization techniques, we obtain faster Las Vegas algorithms for structured inversion and linear system solving
    corecore