6 research outputs found

    Elements of Design for Containers and Solutions in the LinBox Library

    Get PDF
    We describe in this paper new design techniques used in the \cpp exact linear algebra library \linbox, intended to make the library safer and easier to use, while keeping it generic and efficient. First, we review the new simplified structure for containers, based on our \emph{founding scope allocation} model. We explain design choices and their impact on coding: unification of our matrix classes, clearer model for matrices and submatrices, \etc Then we present a variation of the \emph{strategy} design pattern that is comprised of a controller--plugin system: the controller (solution) chooses among plug-ins (algorithms) that always call back the controllers for subtasks. We give examples using the solution \mul. Finally we present a benchmark architecture that serves two purposes: Providing the user with easier ways to produce graphs; Creating a framework for automatically tuning the library and supporting regression testing.Comment: 8 pages, 4th International Congress on Mathematical Software, Seoul : Korea, Republic Of (2014

    GBLA – Gröbner Basis Linear Algebra Package

    Get PDF
    International audienceThis is a system paper about a new GPLv2 open source C libraryGBLA implementing and improving the idea [7] of Faugère andLachartre (GB reduction). We further exploit underlying structuresin matrices generated during Gröbner basis computations in algorithmslike F4 or F5 taking advantage of block patterns by using aspecial data structure called multilines. Moreover, we discuss a neworder of operations for the reduction process. In various differentexperimental results we show that GBLA performs better than GBreduction or Magma in sequential computations (up to 40% faster)and scales much better than GB reduction for a higher number ofcores: On 32 cores we reach a scaling of up to 26. GBLA is upto 7 times faster than GB reduction. Further, we compare differentparallel schedulers GBLA can be used with. We also developed anew advanced storage format that exploits the fact that our matricesare coming from Gröbner basis computations, shrinking storage bya factor of up to 4. A huge database of our matrices is freely availablewith GBLA

    HPC-GAP: engineering a 21st-century high-performance computer algebra system

    Get PDF
    Symbolic computation has underpinned a number of key advances in Mathematics and Computer Science. Applications are typically large and potentially highly parallel, making them good candidates for parallel execution at a variety of scales from multi-core to high-performance computing systems. However, much existing work on parallel computing is based around numeric rather than symbolic computations. In particular, symbolic computing presents particular problems in terms of varying granularity and irregular task sizes thatdo not match conventional approaches to parallelisation. It also presents problems in terms of the structure of the algorithms and data. This paper describes a new implementation of the free open-source GAP computational algebra system that places parallelism at the heart of the design, dealing with the key scalability and cross-platform portability problems. We provide three system layers that deal with the three most important classes of hardware: individual shared memory multi-core nodes, mid-scale distributed clusters of (multi-core) nodes, and full-blown HPC systems, comprising large-scale tightly-connected networks of multi-core nodes. This requires us to develop new cross-layer programming abstractions in the form of new domain-specific skeletons that allow us to seamlessly target different hardware levels. Our results show that, using our approach, we can achieve good scalability and speedups for two realistic exemplars, on high-performance systems comprising up to 32,000 cores, as well as on ubiquitous multi-core systems and distributed clusters. The work reported here paves the way towards full scale exploitation of symbolic computation by high-performance computing systems, and we demonstrate the potential with two major case studies

    Ball arithmetic

    No full text
    33 pagesThe Mathemagix project aims at the development of a ''computer analysis'' system, in which numerical computations can be done in a mathematically sound manner. A major challenge for such systems is to conceive algorithms which are both efficient, reliable and available at any working precision. In this paper, we survey several older and newer such algorithms. We mainly concentrate on the automatic and efficient computation of high quality error bounds, based on a variant of interval arithmetic which we like to call ''ball arithmetic''

    Raspberry Pi Technology

    Get PDF
    corecore