In this paper we present our joint efforts towards the development of a parallel version of the GNU Scientific Library for heterogeneous systems. Two well-known operations arising in discrete mathematics and sparse linear algebra allow us to describe the design and the implementation of the library, and to report experimental results on heterogeneous clusters of personal computers.Index Terms-GNU Scientific Library, scientific computing, parallel algorithms and architectures, heterogeneous parallel systems.
I. INTRODUCTIONThe GNU Scientific Library (GSL) [1] is a collection of hundreds of routines for numerical scientific computations developed from scratch. Although coded in ANSI C, these routines present a modern application programming interface for C programmers, and the library employs an object oriented methodology allowing wrappers to be written for highlevel programming languages. The library includes numerical routines for complex arithmetic, matrices and vectors, linear algebra, integration, statistics, and optimization, among others.There is currently no parallel version of GSL, probably due to the lack of a globally accepted standard for developing parallel applications when the project started. However, we believe that with the introduction of MPI the situation has changed substantially. MPI is nowadays accepted as the standard interface for developing parallel applications using the distributed-memory (or message-passing) programming model.As a natural challenge and evolution of our research in the area of parallel and distributed computing, we intend to develop a parallel integrated version of GSL that can be used as a problem solving environment for numerical scientific computations. In particular, we plan our library to be portable to several parallel architectures, including shared and distributed-memory multiprocessors, hybrid systems (consisting of a combination of both types of architectures), and clusters of heterogeneous processors. We believe our approach to be different to some other existing parallel scientific libraries (see, e.g., http://www.netlib.org) in that our library targets multiple classes of architectures and, in particular, heterogeneous systems.In this paper we describe the design and implementation of the part of our parallel integrated library which deals
Linear matrix equations such as Sylvester, Lyapunov and Commutant matrix equations play an einportani role i n many Control Problems, like the design of Luenberger's observers, pole assignment problems, system balancing and model reduction, inertia and stability problems, generic matrix function computation, etc. Two of the most eficient methods f o r solving linear matrix equations are the Schur algorithm and the Hessenberg-Schur algorithm. In this paper, we present parallel cyclic algorithms based on the Schur and Hessenberg-Schur methods f o r solving the Sylvester matrix equation. W e also present parallel cyclic algorithms based on the Schur method f o r solving Lyapunov and Commutant matrix equations. I n the case of Lyapunov equations we also consider the problem of computing the Cholesky factor of the unknown matrix.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.