DeepAI AI Chat
Log In Sign Up

Enumerating Hardware-Software Splits with Program Rewriting

by   Gus Smith, et al.

A core problem in hardware-software codesign is in the sheer size of the design space. Without a set ISA to constrain the hardware-software interface, the design space explodes. This work presents a strategy for managing the massive hardware-software design space within the domain of machine learning inference workloads and accelerators. We first propose EngineIR, a new language for representing machine learning hardware and software in a single program. Then, using equality graphs – a data structure from the compilers literature – we suggest a method for efficiently enumerating the design space by performing rewrites over our representation.


page 1

page 2

page 3


Can Broken Multicore Hardware be Mended?

A suggestion is made for mending multicore hardware, which has been diag...

METRO: A Software-Hardware Co-Design of Interconnections for Spatial DNN Accelerators

Tiled spatial architectures have proved to be an effective solution to b...

Skin Temperature Measurement

This report represents the design and implementation of a skin temperatu...

HASCO: Towards Agile HArdware and Software CO-design for Tensor Computation

Tensor computations overwhelm traditional general-purpose computing devi...

Learned Hardware/Software Co-Design of Neural Accelerators

The use of deep learning has grown at an exponential rate, giving rise t...

Hardware-Software Co-Design of BIKE with HLS-Generated Accelerators

In order to mitigate the security threat of quantum computers, NIST is u...

Enabling Cross-Domain Communication: How to Bridge the Gap between AI and HW Engineers

A key issue in system design is the lack of communication between hardwa...