Reference. Stepwise Debugging for Hardware Accelerators

Cite

Cite as @berlstein-2023-stepwise (helia, typst) · \cite{berlstein-2023-stepwise} (LaTeX)
BibTeX
bibtex · 1 line
@inproceedings{berlstein-2023-stepwise, series={ASPLOS ’23}, title={Stepwise Debugging for Hardware Accelerators}, url={http://dx.doi.org/10.1145/3575693.3575717}, DOI={10.1145/3575693.3575717}, booktitle={Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2}, publisher={ACM}, author={Berlstein, Griffin and Nigam, Rachit and Gyurgyik, Christophe and Sampson, Adrian}, year={2023}, month=Jan, pages={778–790}, collection={ASPLOS ’23} }
hayagriva YAML (typst)
yaml · 20 lines
berlstein-2023-stepwise:
  type: article
  title: Stepwise Debugging for Hardware Accelerators
  author:
  - Berlstein, Griffin
  - Nigam, Rachit
  - Gyurgyik, Christophe
  - Sampson, Adrian
  date: 2023-01
  page-range: 778-790
  url: http://dx.doi.org/10.1145/3575693.3575717
  serial-number:
    doi: 10.1145/3575693.3575717
  parent:
    type: proceedings
    title: Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2
    publisher: ACM
    parent:
      type: proceedings
      title: ASPLOS ’23
Cited by (1)

Unifying Static and Dynamic Intermediate Languages for Accelerator Generators kim-2024-unifying

Compilers for accelerator design languages (ADLs) translate high-level languages into application-specific hardware. ADL compilers rely on a hardware control interface to compose hardware units. There are two choices: static control, which relies on cycle-level timing; or dynamic control, which uses explicit signalling to avoid depending on timing details. Static control is efficient but brittle; dynamic control incurs hardware costs to support compositional reasoning. Piezo is an ADL compiler that unifies static and dynamic control in a single intermediate language (IL). Its key insight is that the IL’s static fragment is a refinement of its dynamic fragment: static code admits a subset of the run-time behaviors of the dynamic equivalent. Piezo can optimize code by combining facts from static and dynamic submodules, and it opportunistically converts code from dynamic to static control styles. We implement Piezo as an extension to an existing dynamic ADL compiler, Calyx. We use Piezo to implement a frontend for an existing ADL, a systolic array generator, and a packet-scheduling hardware generator to demonstrate its optimizations and the static–dynamic interactions it enables.
PDF · DOI · arXiv · pldb
Cites 43 works (2 here)
With notes (2)

A compiler infrastructure for accelerator generators nigam-2021-a

DOI · arXiv

Predictable accelerator design with time-sensitive affine types nigam-2020-predictable

PDF · DOI · arXiv · pldb
External (41)
berlstein-2023-stepwise reference entries/refs/berlstein-2023-stepwise/berlstein-2023-stepwise.hel