Hardware--Software Co-Design: Not Just a Cliche

Adrian Sampson, James Bornholt, Luis Ceze

The age of the air-tight hardware abstraction is over.
As the computing ecosystem moves beyond the predictable yearly advances of Moore's
Law, appeals to familiarity and backwards compatibility will become less
convincing:
fundamental shifts in abstraction and design will look more enticing.
It is time to embrace
hardware--software co-design in earnest, to cooperate between
programming languages and architecture to upend legacy constraints on
computing.
We describe our work on approximate computing, a new avenue spanning the
system stack from applications and languages to microarchitectures.
We reflect on the challenges and successes of approximation research and,
with these lessons in mind, distill opportunities for future
hardware--software co-design efforts.