English
Related papers

Related papers: Compiling Recurrences over Dense and Sparse Arrays

200 papers

Optimizing deep learning models is generally performed in two steps: (i) high-level graph optimizations such as kernel fusion and (ii) low level kernel optimizations such as those found in vendor libraries. This approach often leaves…

Machine Learning · Computer Science 2021-03-08 Pratik Fegade , Tianqi Chen , Phillip B. Gibbons , Todd C. Mowry

Optimizing compilers are mainly equipped to optimize control flow. The optimization of data structures is left to the programmer and it is the programmer's responsibility to design the data structures to suit the target hardware. Very…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-03-15 K. F. D. Rietveld , H. A. G. Wijshoff

This paper shows how to generate efficient tensor algebra code that compute on dynamic sparse tensors, which have sparsity structures that evolve over time. We propose a language for precisely specifying recursive, pointer-based data…

Mathematical Software · Computer Science 2021-12-03 Stephen Chou , Saman Amarasinghe

Applications in science and engineering often require huge computational resources for solving problems within a reasonable time frame. Parallel supercomputers provide the computational infrastructure for solving such problems. A…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Rajesh Sudarsan , Calvin J. Ribbens

We address the problem of optimizing mixed sparse and dense tensor algebra in a compiler. We show that standard loop transformations, such as strip-mining, tiling, collapsing, parallelization and vectorization, can be applied to irregular…

Mathematical Software · Computer Science 2020-01-03 Ryan Senanayake , Fredrik Kjolstad , Changwan Hong , Shoaib Kamil , Saman Amarasinghe

Linear algebraic expressions are the essence of many computationally intensive problems, including scientific simulations and machine learning applications. However, translating high-level formulations of these expressions to efficient…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-03-22 Dániel Berényi , András Leitereg , Gábor Lehel

Automated code generation and performance enhancements for sparse tensor algebra have become essential in many real-world applications, such as quantum computing, physical simulations, computational chemistry, and machine learning. General…

Programming Languages · Computer Science 2024-08-20 Adhitha Dias , Logan Anderson , Kirshanthan Sundararajah , Artem Pelenitsyn , Milind Kulkarni

This paper addresses spatial programming of sparse matrix computations for productive performance. The challenge is how to express an irregular computation and its optimizations in a regular way. A sparse matrix has (non-zero) values and a…

Mathematical Software · Computer Science 2018-10-18 Hongbo Rong

Supercomputers are equipped with an increasingly large number of cores to use computational power as a way of solving problems that are otherwise intractable. Unfortunately, getting serial algorithms to run in parallel to take advantage of…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-12-31 Faisal N. Abu-Khzam , Khuzaima Daudjee , Amer E. Mouawad , Naomi Nishimura

A new runtime environment for the execution of recursive matrix algorithms on a supercomputer with distributed memory is proposed. It is designed both for dense and sparse matrices. The environment ensures decentralized control of the…

Symbolic Computation · Computer Science 2023-03-21 Gennadi Malaschonok , Alla Sidko

Sparse coding is a basic task in many fields including signal processing, neuroscience and machine learning where the goal is to learn a basis that enables a sparse representation of a given set of data, if one exists. Its standard…

Machine Learning · Computer Science 2015-03-04 Sanjeev Arora , Rong Ge , Tengyu Ma , Ankur Moitra

Recent years have seen considerable work on compiling sparse tensor algebra expressions. This paper addresses a shortcoming in that work, namely how to generate efficient code (in time and space) that scatters values into a sparse result…

Programming Languages · Computer Science 2024-04-09 Genghan Zhang , Olivia Hsu , Fredrik Kjolstad

Dense and sparse tensors allow the representation of most bulk data structures in computational science applications. We show that sparse tensor algebra can also be used to express many of the transformations on these datasets, especially…

Mathematical Software · Computer Science 2015-12-02 Edgar Solomonik , Torsten Hoefler

We introduce a code generator that converts unoptimized C++ code operating on sparse data into vectorized and parallel CPU or GPU kernels. Our approach unrolls the computation into a massive expression graph, performs redundant expression…

Programming Languages · Computer Science 2022-03-15 Philipp Herholz , Xuan Tang , Teseo Schneider , Shoaib Kamil , Daniele Panozzo , Olga Sorkine-Hornung

Sparse tensors are prevalent in many data-intensive applications, yet existing differentiable programming frameworks are tailored towards dense tensors. This presents a significant challenge for efficiently computing gradients through…

Programming Languages · Computer Science 2023-03-14 Amir Shaikhha , Mathieu Huot , Shideh Hashemian

Sparse fusion is a compile-time loop transformation and runtime scheduling implemented as a domain-specific code generator. Sparse fusion generates efficient parallel code for the combination of two sparse matrix kernels where at least one…

Programming Languages · Computer Science 2021-11-25 Kazem Cheshmi , Michelle Mills Strout , Maryam Mehri Dehnavi

Associative memories are data structures addressed using part of the content rather than an index. They offer good fault reliability and biological plausibility. Among different families of associative memories, sparse ones are known to…

Neural and Evolutionary Computing · Computer Science 2013-08-22 Ala Aboudib , Vincent Gripon , Xiaoran Jiang

The work presented in this thesis seeks to improve programmer productivity in the following ways: - by reducing the amount of code that has to be written to construct an application; - by increasing the reliability of the code written; and…

Programming Languages · Computer Science 2010-06-18 Graham Kirby

One of the greatest efforts of computational scientists is to translate the mathematical model describing a class of physical phenomena into large and complex codes. Many of these codes face the difficulty of implementing the mathematical…

Computational Engineering, Finance, and Science · Computer Science 2018-01-17 Edoardo Di Napoli , Elmar Peise , Markus Hrywniak , Paolo Bientinesi

This paper proposes an adaptive neural-compilation framework to address the problem of efficient program learning. Traditional code optimisation strategies used in compilers are based on applying pre-specified set of transformations that…

Artificial Intelligence · Computer Science 2016-05-27 Rudy Bunel , Alban Desmaison , Pushmeet Kohli , Philip H. S. Torr , M. Pawan Kumar
‹ Prev 1 2 3 10 Next ›