As part of the FLAME project, we have been dilligently developing new methodologies for analyzing, designing, and implementing linear algebra libraries. While we did not know it when we started, these techniques appear to solve many of the programmability problems that now face us with the advent of multicore and many-core architectures. These efforts have culminated in a new library, libflame, which strives to replace similar libraries that date back to the late 20th century. With this paper, we introduce the scientific computing community to this library. Why a New LibraryHow do we convince people that in programming simplicity and clarity -in short: what mathematicians call "elegance" -are not a dispensable luxury, but a crucial matter that decides between success and failure?Edsger W. DijkstraDuring the past decade, the FLAME project, a collaborative effort between The University of Texas at Austin and Universidad Jaime I de Castellon, has developed a unique methodology, notation, tools, and set of application programming interfaces (APIs) for deriving and representing linear algebra libraries. In an effort to better promote the techniques characteristic to the FLAME project, we have implemented a functional library that demonstrates findings and insights from the last decade of research. We call this library libflame. The primary purpose of libflame is to provide the scientific and numerical computing communities with a modern, high-performance dense linear algebra library that is extensible, easy to use, and available under an open source license. Its developers have published two books, numerous papers, and even more working notes over the last decade documenting the challenges and motivations that led to the APIs and implementations present within the libflame library [11]. Seasoned users within scientific and numerical computing circles will quickly recognize the general set of functionality targeted by libflame. In short, in libflame we wish to provide not only a framework for developing dense linear algebra solutions, but also a ready-made library that is, by almost any metric, easier to use and offers competitive (and in many cases superior) real-world performance when compared to the more traditional Basic Linear Algebra Subprograms (BLAS) [8,9,16] and Linear Algebra PACKage (LAPACK) libraries [1].The purpose of this article is to briefly introduce both the philosophy that underlies the library and the library itself. Evidence of how easily it can be retargeted to what are often considered "hostile" environments is presented in form of performance results on different architectures.
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.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.