English
Related papers

Related papers: Tenspiler: A Verified Lifting-Based Compiler for T…

200 papers

Compilers convert between representations -- usually, from higher-level, human writable code to lower-level, machine-readable code. A compiler backend is the portion of the compiler containing optimizations and code generation routines for…

Programming Languages · Computer Science 2024-08-29 Gus Henry Smith

Because loops execute their body many times, compiler developers place much emphasis on their optimization. Nevertheless, in view of highly diverse source code and hardware, compilers still struggle to produce optimal target code. The sheer…

Programming Languages · Computer Science 2021-03-01 Rahim Mammadli , Marija Selakovic , Felix Wolf , Michael Pradel

Software packages like TensorFlow and PyTorch are designed to support linear algebra operations, and their speed and usability determine their success. However, by prioritising speed, they often neglect memory requirements. As a…

Machine Learning · Computer Science 2022-06-29 Artem Artemev , Tilman Roeder , Mark van der Wilk

Transformers have become a predominant machine learning workload, they are not only the de-facto standard for natural language processing tasks, but they are also being deployed in other domains such as vision and speech recognition. Many…

Machine Learning · Computer Science 2022-06-23 Ibrahim Ahmed , Sahil Parmar , Matthew Boyd , Michael Beidler , Kris Kang , Bill Liu , Kyle Roach , John Kim , Dennis Abts

We consider the problem of automatically decomposing operations over tensors or arrays so that they can be executed in parallel on multiple devices. We address two, closely-linked questions. First, what programming abstraction should…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-10-04 Daniel Bourgeois , Zhimin Ding , Dimitrije Jankov , Jiehui Li , Mahmoud Sleem , Yuxin Tang , Jiawen Yao , Xinyu Yao , Chris Jermaine

TensorFlow is a popular emerging open-source programming framework supporting the execution of distributed applications on heterogeneous hardware. While TensorFlow has been initially designed for developing Machine Learning (ML)…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-03-03 Steven W. D. Chien , Stefano Markidis , Vyacheslav Olshevsky , Yaroslav Bulatov , Erwin Laure , Jeffrey S. Vetter

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

We propose a typesafe abstraction to tensors (i.e. multidimensional arrays) exploiting the type-level programming capabilities of Scala through heterogeneous lists (HList), and showcase typesafe abstractions of common tensor operations and…

Programming Languages · Computer Science 2017-10-20 Tongfei Chen

Recently we presented TTC, a domain-specific compiler for tensor transpositions. Despite the fact that the performance of the generated code is nearly optimal, due to its offline nature, TTC cannot be utilized in all the application codes…

Mathematical Software · Computer Science 2017-05-12 Paul Springer , Tong Su , Paolo Bientinesi

The Deep Learning (DL) community sees many novel topologies published each year. Achieving high performance on each new topology remains challenging, as each requires some level of manual effort. This issue is compounded by the…

High-performance dynamic language implementations make heavy use of speculative optimizations to achieve speeds close to statically compiled languages. These optimizations are typically performed by a just-in-time compiler that generates…

Programming Languages · Computer Science 2020-05-19 Olivier Flückiger , Gabriel Scherer , Ming-Ho Yee , Aviral Goel , Amal Ahmed , Jan Vitek

Numerical simulations can help solve complex problems. Most of these algorithms are massively parallel and thus good candidates for FPGA acceleration thanks to spatial parallelism. Modern FPGA devices can leverage high-bandwidth memory…

Hardware Architecture · Computer Science 2022-11-09 Stephanie Soldavini , Karl F. A. Friebel , Mattia Tibaldi , Gerald Hempel , Jeronimo Castrillon , Christian Pilato

High-dimensional data arise naturally in many areas of science and engineering, including machine learning, signal processing, computational physics, and statistics. Such data are often represented as tensors, multi-dimensional…

Machine Learning · Computer Science 2026-05-19 Beheshteh T. Rakhshan , Guillaume Rabusseau

We present Rhino, a system for accelerating tensor programs with automatic parallelization on AI platform for real production environment. It transforms a tensor program written for a single device into an equivalent distributed program…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-02-17 Shiwei Zhang , Lansong Diao , Siyu Wang , Zongyan Cao , Yiliang Gu , Chang Si , Ziji Shi , Zhen Zheng , Chuan Wu , Wei Lin

Sparse tensor algebra computations have become important in many real-world applications like machine learning, scientific simulations, and data mining. Hence, automated code generation and performance optimizations for tensor algebra…

Programming Languages · Computer Science 2022-05-25 Adhitha Dias , Kirshanthan Sundararajah , Charitha Saumya , Milind Kulkarni

Deterministic execution offers many benefits for debugging, fault tolerance, and security. Running parallel programs deterministically is usually difficult and costly, however - especially if we desire system-enforced determinism, ensuring…

Operating Systems · Computer Science 2010-05-20 Amittai Aviram , Shu-Chun Weng , Sen Hu , Bryan Ford

Tensor operations are surging as the computational building blocks for a variety of scientific simulations and the development of high-performance kernels for such operations is known to be a challenging task. While for operations on one-…

Mathematical Software · Computer Science 2014-10-02 Elmar Peise , Diego Fabregat-Traver , Paolo Bientinesi

Kjolstad et. al. proposed a tensor algebra compiler. It takes expressions that define a tensor element-wise, such as $f_{ij}(a,b,c,d) = \exp\left[-\sum_{k=0}^4 \left((a_{ik}+b_{jk})^2\, c_{ii} + d_{i+k}^3 \right) \right]$, and generates the…

Symbolic Computation · Computer Science 2017-11-07 Sebastian Urban , Patrick van der Smagt

Programming high-performance sparse GPU kernels is notoriously difficult, requiring both substantial effort and deep expertise. Sparse compilers aim to simplify this process, but existing systems fall short in two key ways. First, they are…

Programming Languages · Computer Science 2025-10-21 Jaeyeon Won , Willow Ahrens , Joel S. Emer , Saman Amarasinghe

In this paper we demonstrate a technique for developing high performance applications with strong correctness guarantees. We use a theorem prover to derive a high-level specification of the application that includes correctness invariants…

Programming Languages · Computer Science 2024-06-18 Artjoms Sinkarovs , Thomas Koopman , Sven-Bodo Scholz