Taco: A tool to generate tensor algebra kernels

Tensor algebra is an important computational abstraction that is increasingly used in data analytics, machine learning, engineering, and the physical sciences. However, the number of tensor expressions is unbounded, which makes it hard to develop and optimize libraries. Furthermore, the tensors are...

Full description

Bibliographic Details
Main Authors: Kjolstad, Fredrik, Chou, Stephen, Lugato, David, Kamil, Shoaib, Amarasinghe, Saman
Format: Article
Language:English
Published: IEEE 2021
Online Access:https://hdl.handle.net/1721.1/137385
_version_ 1811084077517766656
author Kjolstad, Fredrik
Chou, Stephen
Lugato, David
Kamil, Shoaib
Amarasinghe, Saman
author_facet Kjolstad, Fredrik
Chou, Stephen
Lugato, David
Kamil, Shoaib
Amarasinghe, Saman
author_sort Kjolstad, Fredrik
collection MIT
description Tensor algebra is an important computational abstraction that is increasingly used in data analytics, machine learning, engineering, and the physical sciences. However, the number of tensor expressions is unbounded, which makes it hard to develop and optimize libraries. Furthermore, the tensors are often sparse (most components are zero), which means the code has to traverse compressed formats. To support programmers we have developed taco, a code generation tool that generates dense, sparse, and mixed kernels from tensor algebra expressions. This paper describes the taco web and command-line tools and discusses the benefits of a code generator over a traditional library. See also the demo video at tensor-compiler.org/ase2017.
first_indexed 2024-09-23T12:44:23Z
format Article
id mit-1721.1/137385
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T12:44:23Z
publishDate 2021
publisher IEEE
record_format dspace
spelling mit-1721.1/1373852021-11-05T03:21:22Z Taco: A tool to generate tensor algebra kernels Kjolstad, Fredrik Chou, Stephen Lugato, David Kamil, Shoaib Amarasinghe, Saman Tensor algebra is an important computational abstraction that is increasingly used in data analytics, machine learning, engineering, and the physical sciences. However, the number of tensor expressions is unbounded, which makes it hard to develop and optimize libraries. Furthermore, the tensors are often sparse (most components are zero), which means the code has to traverse compressed formats. To support programmers we have developed taco, a code generation tool that generates dense, sparse, and mixed kernels from tensor algebra expressions. This paper describes the taco web and command-line tools and discusses the benefits of a code generator over a traditional library. See also the demo video at tensor-compiler.org/ase2017. 2021-11-04T18:14:57Z 2021-11-04T18:14:57Z 2017-10 2019-05-02T17:17:57Z Article http://purl.org/eprint/type/ConferencePaper https://hdl.handle.net/1721.1/137385 Kjolstad, Fredrik, Chou, Stephen, Lugato, David, Kamil, Shoaib and Amarasinghe, Saman. 2017. "Taco: A tool to generate tensor algebra kernels." en 10.1109/ase.2017.8115709 Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf IEEE Other repository
spellingShingle Kjolstad, Fredrik
Chou, Stephen
Lugato, David
Kamil, Shoaib
Amarasinghe, Saman
Taco: A tool to generate tensor algebra kernels
title Taco: A tool to generate tensor algebra kernels
title_full Taco: A tool to generate tensor algebra kernels
title_fullStr Taco: A tool to generate tensor algebra kernels
title_full_unstemmed Taco: A tool to generate tensor algebra kernels
title_short Taco: A tool to generate tensor algebra kernels
title_sort taco a tool to generate tensor algebra kernels
url https://hdl.handle.net/1721.1/137385
work_keys_str_mv AT kjolstadfredrik tacoatooltogeneratetensoralgebrakernels
AT choustephen tacoatooltogeneratetensoralgebrakernels
AT lugatodavid tacoatooltogeneratetensoralgebrakernels
AT kamilshoaib tacoatooltogeneratetensoralgebrakernels
AT amarasinghesaman tacoatooltogeneratetensoralgebrakernels