5 research outputs found

    Resolució de sistemes d’equacions lineals de dimensió gran

    Full text link
    Treballs Finals de Grau de Matemàtiques, Facultat de Matemàtiques, Universitat de Barcelona, Any: 2015, Director: Jorba i Monte, ÀngelThe present study pretends to present some iterative methods to solve systems of equations of large dimension and sparse matrices. It also tries to be a brief introduction to parallel programming world, particularly in OpenMP, a set of directives which extend Fortran and C so that different cores of the same computer can cooperate within a single program. The work has been divided into three parts. Chapter one explains theoretical basis of the methods: Jacobi, Gauss-Seidel, SOR, Conjugate Gradient, Preconditioned Conjugated Gradient and GMRES. Chapter two presents an introduction to parallel programming, a brief summary of its historty and an introduction to OpenMP and how it can be used for parallel programming. Chapter three explains how to parallelize the methods presented in chapter one and their performance. The performance has been studied by comparing the same algorithm runned with diverse threads and not between the diverse algorithms, because it would make no sense if it is not referred to a specific system of equations

    Towards dynamic threading support for OpenMP

    Get PDF

    SAT Simplification for Multi-core CPU Platforms

    Get PDF

    Scientific Programming and Computer Architecture

    Get PDF
    A variety of programming models relevant to scientists explained, with an emphasis on how programming constructs map to parts of the computer.What makes computer programs fast or slow? To answer this question, we have to get behind the abstractions of programming languages and look at how a computer really works. This book examines and explains a variety of scientific programming models (programming models relevant to scientists) with an emphasis on how programming constructs map to different parts of the computer's architecture. Two themes emerge: program speed and program modularity. Throughout this book, the premise is to "get under the hood," and the discussion is tied to specific programs. The book digs into linkers, compilers, operating systems, and computer architecture to understand how the different parts of the computer interact with programs. It begins with a review of C/C++ and explanations of how libraries, linkers, and Makefiles work. Programming models covered include Pthreads, OpenMP, MPI, TCP/IP, and CUDA.The emphasis on how computers work leads the reader into computer architecture and occasionally into the operating system kernel. The operating system studied is Linux, the preferred platform for scientific computing. Linux is also open source, which allows users to peer into its inner workings. A brief appendix provides a useful table of machines used to time programs. The book's website (https://github.com/divakarvi/bk-spca) has all the programs described in the book as well as a link to the html text
    corecore