Revet: A Language and Compiler for Dataflow Threads

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Rucker, Alexander, Sundram, Shiv, Smith, Coleman, Vilim, Matthew, Prabhakar, Raghu, Kjolstad, Fredrik, Olukotun, Kunle
Format: Preprint
Publié: 2023
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866913216413564928
author Rucker, Alexander
Sundram, Shiv
Smith, Coleman
Vilim, Matthew
Prabhakar, Raghu
Kjolstad, Fredrik
Olukotun, Kunle
author_facet Rucker, Alexander
Sundram, Shiv
Smith, Coleman
Vilim, Matthew
Prabhakar, Raghu
Kjolstad, Fredrik
Olukotun, Kunle
contents Spatial dataflow architectures such as reconfigurable dataflow accelerators (RDA) can provide much higher performance and efficiency than CPUs and GPUs. In particular, vectorized reconfigurable dataflow accelerators (vRDA) in recent literature represent a design point that enhances the efficiency of dataflow architectures with vectorization. Today, vRDAs can be exploited using either hardcoded kernels or MapReduce languages like Spatial, which cannot vectorize data-dependent control flow. In contrast, CPUs and GPUs can be programmed using general-purpose threaded abstractions. The ideal combination would be the generality of a threaded programming model coupled with the efficient execution model of a vRDA. We introduce Revet: a programming model, compiler, and execution model that lets threaded applications run efficiently on vRDAs. The Revet programming language uses threads to support a broader range of applications than Spatial's parallel patterns, and our MLIR-based compiler lowers this language to a generic dataflow backend that operates on streaming tensors. Finally, we show that mapping threads to dataflow outperforms GPUs, the current state-of-the-art for threaded accelerators, by 3.8x.
format Preprint
id arxiv_https___arxiv_org_abs_2302_06124
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Revet: A Language and Compiler for Dataflow Threads
Rucker, Alexander
Sundram, Shiv
Smith, Coleman
Vilim, Matthew
Prabhakar, Raghu
Kjolstad, Fredrik
Olukotun, Kunle
Hardware Architecture
Spatial dataflow architectures such as reconfigurable dataflow accelerators (RDA) can provide much higher performance and efficiency than CPUs and GPUs. In particular, vectorized reconfigurable dataflow accelerators (vRDA) in recent literature represent a design point that enhances the efficiency of dataflow architectures with vectorization. Today, vRDAs can be exploited using either hardcoded kernels or MapReduce languages like Spatial, which cannot vectorize data-dependent control flow. In contrast, CPUs and GPUs can be programmed using general-purpose threaded abstractions. The ideal combination would be the generality of a threaded programming model coupled with the efficient execution model of a vRDA. We introduce Revet: a programming model, compiler, and execution model that lets threaded applications run efficiently on vRDAs. The Revet programming language uses threads to support a broader range of applications than Spatial's parallel patterns, and our MLIR-based compiler lowers this language to a generic dataflow backend that operates on streaming tensors. Finally, we show that mapping threads to dataflow outperforms GPUs, the current state-of-the-art for threaded accelerators, by 3.8x.
title Revet: A Language and Compiler for Dataflow Threads
topic Hardware Architecture
url https://arxiv.org/abs/2302.06124