2 research outputs found

    The Tensor Algebra Compiler

    Get PDF
    Tensor and linear algebra is pervasive in data analytics and the physical sciences. Often the tensors, matrices or even vectors are sparse. Computing expressions involving a mix of sparse and dense tensors, matrices and vectors requires writing kernels for every operation and combination of formats of interest. The number of possibilities is infinite, which makes it impossible to write library code for all. This problem cries out for a compiler approach. This paper presents a new technique that compiles compound tensor algebra expressions combined with descriptions of tensor formats into efficient loops. The technique is evaluated in a prototype compiler called taco, demonstrating competitive performance to best-in-class hand-written codes for tensor and matrix operations

    Compiling Parallel Sparse Code for User-Defined Data Structures

    No full text
    We describe how various sparse matrix and distribution formats can be handled using the relational approach to sparse matrix code compilation. This approach allows for the development of compilation techniques that are independent of the storage formats by viewing the data structures as relations and abstracting the implementation details as access methods. 1 Introduction Sparse matrix computations are at the core of many computational science algorithms. A typical application can often be separated into the discretization module, which translates a continuous problem (such as a system of differential equations) into a sequence of sparse matrix problems, and into the solver module, which solves the matrix problems. Typically, the solver is the most timeand space-intensive part of an application and, quite naturally, much effort both in the numerical analysis and compilers communities has been devoted to producing efficient parallel and sequential code for sparse matrix solvers. There..
    corecore