140 research outputs found

    Automatic Source-to-Source Error Compensation of Floating-Point Programs

    Get PDF
    International audienceNumerical programs with IEEE 754 floating-point computations may suffer from inaccuracies since finite precision arithmetic is an approximation of real arithmetic. Solutions that reduce the loss of accuracy are available as, for instance, compensated algorithms, more precise computation with double-double or similar libraries. Our objective is to automatically improve the numerical quality of a numerical program with the smallest impact on its performances. We define and implement source code transformation to derive automatically compensated programs. We present several experimental results to compare the transformed programs and existing solutions. The transformed programs are as accurate and efficient than the implementations of compensated algorithms when the latter exist

    Algorithmes compensés en arithmétique flottante : précision, validation, performances

    Get PDF
    Rounding error may totally corrupt the result of a floating point computation. How to improve and validate the accuracy of a floating point computation, without large computing time overheads ? We consider two case studies: polynomial evaluation and linear triangular system solving. In both cases we use compensation of the rounding errors to improve the accuracy of the computed result. The contributions of this work are divided into three levels.1) Improving the accuracy.We propose a compensated Horner scheme that computes polynomial evaluation with the same accuracy as the classic Horner algorithm performed in twice the working precision. Generalizing this algorithm, we present another compensated version of the Horner scheme simulating K times the working precision (K>1). We also show how to compensate the rounding errors generated by the substitution algorithm for triangular system solving.2) Validating the computed result.We show how to validate the quality of the compensated polynomial evaluation. We propose a method to compute an "a posteriori" error bound together with the compensated result. This error bound is computed using only basic floating point operations, which ensures portability and efficiency of the method.3) Performances of compensated algorithms.Our computing time measures show the interest of compensated algorithms compared to other software solutions that provide the same output accuracy. We also justify good practical performances of compensated algorithms thanks to a detailed study of the instruction-level parallelism they contain.Les erreurs d'arrondi peuvent dégrader la précision d'un calcul en arithmétique flottante. Comment améliorer et valider la précision d'un résultat calculé, tout en conservant de bonnes performances pratiques ? Nous utilisons la compensation des erreurs d'arrondi au travers de deux exemples : l'évaluation polynomiale et la résolution de systèmeslinéaires triangulaires. Nos contributions se situent à trois niveaux.1) Amélioration de la précision du résultat.Nous proposons un schéma de Horner compensé, qui permet une évaluation polynomiale aussi précise que celle calculée par le schéma de Horner classique exécuté avec une précision interne doublée. En généralisant cet algorithme, nous proposons une autre version compensée du schéma de Horner simulant K fois la précision de travail (K>1). Nous montrons également comment compenser les erreurs d'arrondis générées par l'algorithme de substitution pour la résolution de systèmes triangulaires.2) Validation de la qualité du résultat.Nous montrons comment valider la qualité du résultat de l'évaluation polynomiale compensée, en proposant le calcul d'une borne d'erreur "a posteriori" qui ne repose que sur des opérations élémentaires de l'arithmétique flottante: cela assure la portabilité de la validation et de bonnes performances pratiques.3) Performances des algorithmes compensés.Nos mesures de performances montrent l'intérêt pratique des algorithmes compensés face aux autres solutions logicielles simulant une précision équivalente. Nous justifions ces bonnes performances par une étude détaillée du parallélisme d'instructions qu'ils présentent

    High-precision computation of uniform asymptotic expansions for special functions

    Get PDF
    In this dissertation, we investigate new methods to obtain uniform asymptotic expansions for the numerical evaluation of special functions to high-precision. We shall first present the theoretical and computational fundamental aspects required for the development and ultimately implementation of such methods. Applying some of these methods, we obtain efficient new convergent and uniform expansions for numerically evaluating the confluent hypergeometric functions and the Lerch transcendent at high-precision. In addition, we also investigate a new scheme of computation for the generalized exponential integral, obtaining on the fastest and most robust implementations in double-precision floating-point arithmetic. In this work, we aim to combine new developments in asymptotic analysis with fast and effective open-source implementations. These implementations are comparable and often faster than current open-source and commercial stateof-the-art software for the evaluation of special functions.Esta tesis presenta nuevos métodos para obtener expansiones uniformes asintóticas, para la evaluación numérica de funciones especiales en alta precisión. En primer lugar, se introducen fundamentos teóricos y de carácter computacional necesarios para el desarrollado y posterior implementación de tales métodos. Aplicando varios de dichos métodos, se obtienen nuevas expansiones uniformes convergentes para la evaluación numérica de las funciones hipergeométricas confluentes y de la función transcendental de Lerch. Por otro lado, se estudian nuevos esquemas de computo para evaluar la integral exponencial generalizada, desarrollando una de las implementaciones más eficientes y robustas en aritmética de punto flotante de doble precisión. En este trabajo, se combinan nuevos desarrollos en análisis asintótico con implementaciones rigurosas, distribuidas en código abierto. Las implementaciones resultantes son comparables, y en ocasiones superiores, a las soluciones comerciales y de código abierto actuales, que representan el estado de la técnica en el campo de la evaluación de funciones especiales

    High-precision computation of uniform asymptotic expansions for special functions

    Get PDF
    In this dissertation, we investigate new methods to obtain uniform asymptotic expansions for the numerical evaluation of special functions to high-precision. We shall first present the theoretical and computational fundamental aspects required for the development and ultimately implementation of such methods. Applying some of these methods, we obtain efficient new convergent and uniform expansions for numerically evaluating the confluent hypergeometric functions and the Lerch transcendent at high-precision. In addition, we also investigate a new scheme of computation for the generalized exponential integral, obtaining on the fastest and most robust implementations in double-precision floating-point arithmetic. In this work, we aim to combine new developments in asymptotic analysis with fast and effective open-source implementations. These implementations are comparable and often faster than current open-source and commercial stateof-the-art software for the evaluation of special functions.Esta tesis presenta nuevos métodos para obtener expansiones uniformes asintóticas, para la evaluación numérica de funciones especiales en alta precisión. En primer lugar, se introducen fundamentos teóricos y de carácter computacional necesarios para el desarrollado y posterior implementación de tales métodos. Aplicando varios de dichos métodos, se obtienen nuevas expansiones uniformes convergentes para la evaluación numérica de las funciones hipergeométricas confluentes y de la función transcendental de Lerch. Por otro lado, se estudian nuevos esquemas de computo para evaluar la integral exponencial generalizada, desarrollando una de las implementaciones más eficientes y robustas en aritmética de punto flotante de doble precisión. En este trabajo, se combinan nuevos desarrollos en análisis asintótico con implementaciones rigurosas, distribuidas en código abierto. Las implementaciones resultantes son comparables, y en ocasiones superiores, a las soluciones comerciales y de código abierto actuales, que representan el estado de la técnica en el campo de la evaluación de funciones especiales.Postprint (published version

    Design and Implementation of Particle Systems for Meshfree Methods with High Performance

    Get PDF
    Particle systems, commonly associated with computer graphics, animation, and video games, are an essential component in the implementation of numerical methods ranging from the meshfree methods for computational fluid dynamics and related applications (e.g., smoothed particle hydrodynamics, SPH) to minimization methods for arbitrary problems (e.g., particle swarm optimization, PSO). These methods are frequently embarrassingly parallel in nature, making them a natural fit for implementation on massively parallel computational hardware such as modern graphics processing units (GPUs). However, naive implementations fail to fully exploit the capabilities of this hardware. We present practical solutions to the challenges faced in the efficient parallel implementation of these particle systems, with a focus on performance, robustness, and flexibility. The techniques are illustrated through GPUSPH, the first implementation of SPH to run completely on GPU, and currently supporting multi-GPU clusters, uniform precision independent of domain size, and multiple SPH formulations

    Lossy Polynomial Datapath Synthesis

    No full text
    The design of the compute elements of hardware, its datapath, plays a crucial role in determining the speed, area and power consumption of a device. The building blocks of datapath are polynomial in nature. Research into the implementation of adders and multipliers has a long history and developments in this area will continue. Despite such efficient building block implementations, correctly determining the necessary precision of each building block within a design is a challenge. It is typical that standard or uniform precisions are chosen, such as the IEEE floating point precisions. The hardware quality of the datapath is inextricably linked to the precisions of which it is composed. There is, however, another essential element that determines hardware quality, namely that of the accuracy of the components. If one were to implement each of the official IEEE rounding modes, significant differences in hardware quality would be found. But in the same fashion that standard precisions may be unnecessarily chosen, it is typical that components may be constructed to return one of these correctly rounded results, where in fact such accuracy is far from necessary. Unfortunately if a lesser accuracy is permissible then the techniques that exist to reduce hardware implementation cost by exploiting such freedom invariably produce an error with extremely difficult to determine properties. This thesis addresses the problem of how to construct hardware to efficiently implement fixed and floating-point polynomials while exploiting a global error freedom. This is a form of lossy synthesis. The fixed-point contributions include resource minimisation when implementing mutually exclusive polynomials, the construction of minimal lossy components with guaranteed worst case error and a technique for efficient composition of such components. Contributions are also made to how a floating-point polynomial can be implemented with guaranteed relative error.Open Acces

    Structural optimization of numerical programs for high-level synthesis

    No full text
    This thesis introduces a new technique, and its associated tool SOAP, to automatically perform source-to-source optimization of numerical programs, specifically targeting the trade-off among numerical accuracy, latency, and resource usage as a high-level synthesis flow for FPGA implementations. A new intermediate representation, MIR, is introduced to carry out the abstraction and optimization of numerical programs. Equivalent structures in MIRs are efficiently discovered using methods based on formal semantics by taking into account axiomatic rules from real arithmetic, such as associativity, distributivity and others, in tandem with program equivalence rules that enable control-flow restructuring and eliminate redundant array accesses. For the first time, we bring rigorous approaches from software static analysis, specifically formal semantics and abstract interpretation, to bear on program transformation for high-level synthesis. New abstract semantics are developed to generate a computable subset of equivalent MIRs from an original MIR. Using formal semantics, three objectives are calculated for each MIR representing a pipelined numerical program: the accuracy of computation and an estimate of resource utilization in FPGA and the latency of program execution. The optimization of these objectives produces a Pareto frontier consisting of a set of equivalent MIRs. We thus go beyond existing literature by not only optimizing the precision requirements of an implementation, but changing the structure of the implementation itself. Using SOAP to optimize the structure of a variety of real world and artificially generated arithmetic expressions in single precision, we improve either their accuracy or the resource utilization by up to 60%. When applied to a suite of computational intensive numerical programs from PolyBench and Livermore Loops benchmarks, SOAP has generated circuits that enjoy up to a 12x speedup, with a simultaneous 7x increase in accuracy, at a cost of up to 4x more LUTs.Open Acces

    Guidelines for conducting birth defects surveillance

    Get PDF
    "In January of 1999, the National Birth Defects Prevention Network (NBDPN) established a Surveillance Guidelines and Standards Committee (SGSC) in order to develop and promote the use of standards and guidelines for birth defects surveillance programs in the United States. This set of guidelines is designed to serve as an important first step in the documentation of this process and as the vehicle for dissemination of the committee's findings. The Guidelines for Conducting Birth Defects Surveillance (henceforth referred to as The Surveillance Guidelines) were developed with three major long-term objectives in mind: To improve the quality of state birth defects surveillance data, including accuracy, comparability, completeness, and timeliness; To enhance the utility of state birth defects surveillance data for research on the distribution and etiology of birth defects; To encourage and promote the use of state birth defects surveillance data for the purposes of linking affected children with services and evaluation of those services. The technical guidelines that make up this document provide a way of improving the quality of birth defects surveillance data, which in turn enhances their use in support of the latter two objectives. Fundamental to quality is ensuring that procedures for all aspects of data definition, collection, management, and analysis are established and followed. Because state-based surveillance systems operate with different objectives and data needs, it is clear that, with respect to procedures and standards, 'one size does not fit all.' It is also clear, however, that common guidelines can provide a basis for the development of system-specific operating procedures and supporting manuals." - p. iIntroduction -- -- Chapter 1. The Whys and Hows of Birth Defects Surveillance - Using Data -- -- Chapter 2. Legislation -- Appendix 2.1. Sample State Legislation -- Appendix 2.2. Table of Birth Defects Legislation -- Appendix 2.3. Definitions Used to Determine Covered Entity Status Under the Privacy Rule -- Appendix 2.4. Office of Civil Rights (OCR) HIPAA Privacy Regulation Text -- -- Chapter 3.Case Definition -- Appendix 3.1. Birth Defects Included in the Case Definition of the National Birth Defects Prevention Network -- Appendix 3.2. NBDPN Abstractor's Instructions -- Appendix 3.3. Examples of Conditions Considered to Be Minor Anomalies -- Appendix 3.4. Conditions Related to Prematurity in Infants Born at Less Than 36 Weeks Gestation -- -- Chapter 4. Data Variables -- Appendix 4.1. Descriptions of Minimum (Core) Data Variables -- Appendix 4.2. Descriptions of Recommended Data Variables -- -- Chapter 5. Classification and Coding -- Appendix 5.1. Texas Disease Index -- Appendix 5.2. 6-Digit CDC Codes (updated 8/2007) -- -- Chapter 6. Case Ascertainment Methods -- Appendix 6.1. Data Source Described in Detail - Vital Records -- Appendix 6.2. Data Source Described in Detail - Hospital Data Sets -- Appendix 6.3. Data Source Described in Detail - Hospital and Patient Services Logs -- Appendix 6.4. Data Source Described in Detail - Genetic Services -- -- Chapter 7. Data Quality Management -- Appendix 7.1. Data Sources Descriptive Assessment Tool -- -- Chapter 8. Statistical Methods -- -- Chapter 9. Data Management and Security -- -- Chapter 10. Data Collaboration and Dissemination through the NBDPN -- -- Chapter 11. Data Presentation -- Appendix 11.1. Data Suppression -- Appendix 11.2. Use of Geographic Information Systems (GIS) to Map Data -- Appendix 11.3. Data Users Matrix -- Appendix 11.4. What Type of Chart or Graph Should I Use?edited by Lowell E. Sever."June 2004."Support for development, production, and distribution of these guidelines was provided by the Birth Defects State Research Partnerships Team, National Center on Birth Defects and Developmental Disabilities, Centers for Disease Control and Prevention.Title from title caption (viewed on Jan. 6, 2012).Mode of access: Internet from the CDC web site as an Acrobat .pdf file ((7.6 MB, 627 p.).System requirements: Adobe Acrobat Reader.Includes bibliographical references.Text in PDF format.National Birth Defects Prevention Network (NBDPN). Guidelines for Conducting Birth Defects Surveillance. Sever, LE, ed. Atlanta, GA: National Birth Defects Prevention Network, Inc., June 2004
    • …
    corecore