• DocumentCode
    2793183
  • Title

    Library Function Selection in Compiling Octave

  • Author

    McFarlin, Daniel ; Chauhan, Arun

  • Author_Institution
    Dept. of Comput. Sci., Indiana Univ., Bloomington, IN
  • fYear
    2007
  • fDate
    26-30 March 2007
  • Firstpage
    1
  • Lastpage
    8
  • Abstract
    One way to address the continuing performance problem of high-level domain-specific languages, such as Octave or Matlab, is to compile them to a relatively lower level language for which good compilers are available. As a first step in this direction, specializing the high-level operations in the source, based on operand types, leads to significant gains. However, simple translation of the high-level operations to the underlying libraries can often miss important opportunities to improve performance. This paper presents a global algorithm to select functions from a target library, utilizing the semantics of the operations as well as the platform-specific performance characteristics of the library. Making use of the library properties, the simple and easy-to-implement selection algorithm, is able to achieve as much as three times performance improvement for certain linear algebra kernels, over a straight mapping of operations, which are compiled to the vendor-tuned BLAS.
  • Keywords
    authoring languages; linear algebra; mathematics computing; optimising compilers; Matlab; Octave; high-level domain-specific language; library function selection; linear algebra kernel; optimizing compiler; vendor-tuned BLAS; Character generation; Computer languages; Computer science; Domain specific languages; Kernel; Large-scale systems; Libraries; Linear algebra; MATLAB; Open source software;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium, 2007. IPDPS 2007. IEEE International
  • Conference_Location
    Long Beach, CA
  • Print_ISBN
    1-4244-0910-1
  • Electronic_ISBN
    1-4244-0910-1
  • Type

    conf

  • DOI
    10.1109/IPDPS.2007.370645
  • Filename
    4228373