Affiliation:
1. Michigan Technological Univ., Houghton
2. Argonne National Lab, Argonne, IL
Abstract
The goal of the LAPACK project is to provide efficient and portable software for dense numerical linear algebra computations. By recasting many of the fundamental dense matrix computations in terms of calls to an efficient implementation of the BLAS (Basic Linear Algebra Subprograms), the LAPACK project has, in large part, achieved its goal. Unfortunately, the efficient implementation of the BLAS results often in machine-specific code that is not portable across multiple architectures without a significant loss in performance or a significant effort to reoptimize them. This article examines wheter most of the hand optimizations performed on matrix factorization codes are unnecessary because they can (and should) be performed by the compiler. We believe that it is better for the programmer to express algorithms in a machine-independent form and allow the compiler to handle the machine-dependent details. This gives the algorithms portability across architectures and removes the error-prone, expensive and tedious process of hand optimization. Although there currently exist no production compilers that can perform all the loop transformations discussed in this article, a description of current research in compiler technology is provided that will prove beneficial to the numerical linear algebra community. We show that the Cholesky and optimized automaticlaly by a compiler to be as efficient as the same hand-optimized version found in LAPACK. We also show that the QR factorization may be optimized by the compiler to perform comparably with the hand-optimized LAPACK version on modest matrix sizes. Our approach allows us to conclude that with the advent of the compiler optimizations dicussed in this article, matrix factorizations may be efficiently implemented in a BLAS-less form
Publisher
Association for Computing Machinery (ACM)
Subject
Applied Mathematics,Software
Reference35 articles.
1. Automatic translation of FORTRAN programs to vector form
2. ANDERSON E. BAI Z. BISCHOF C. H. DEMMEL J. DONGARRA J. J. Du CROZ J. GREENBAUM A. HAMMARLING S. MCKENNEY A. OSTROUCHOV S. AND SORENSEN D.C. 1995. LAPACK User's Guide. 2nd ed. Society for Information Management and The Management Information Systems Minneapolis MN. ANDERSON E. BAI Z. BISCHOF C. H. DEMMEL J. DONGARRA J. J. Du CROZ J. GREENBAUM A. HAMMARLING S. MCKENNEY A. OSTROUCHOV S. AND SORENSEN D.C. 1995. LAPACK User's Guide. 2nd ed. Society for Information Management and The Management Information Systems Minneapolis MN.
3. BILMES J. ASANOVIC K. DEMMEL J. LAM D. AND CHIN C.W. 1996. PHiPAC" A portable high-performance ANSI C coding methodology and its application to matrix multiply. LAPACK Working Note 111 University of Tennessee Knoxville TN. BILMES J. ASANOVIC K. DEMMEL J. LAM D. AND CHIN C.W. 1996. PHiPAC" A portable high-performance ANSI C coding methodology and its application to matrix multiply. LAPACK Working Note 111 University of Tennessee Knoxville TN.
Cited by
8 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献