2013 · 252 citations · 24 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureFault ToleranceHardware-software Co-designInstruction Set ArchitectureMicroarchitecture DesignProcessor MicroarchitectureAccuracyApproximate ComputingApproximate Computing For Low PowerApproximate Computing For Power ReductionInstruction Set DesignMicroarchitectural OptimizationResilienceVector Processors
Approximate computing leverages the intrinsic resilience of applications to inexactness in their computations, to achieve a desirable trade-off between efficiency (performance or energy) and acceptable quality of results. To broaden the applicability of approximate computing, we propose quality programmable processors, in which the notion of quality is explicitly codified in the HW/SW interface, i.e., the instruction set. The ISA of a quality programmable processor contains instructions associated with quality fields to specify the accuracy level that must be met during their execution. We show that this ability to control the accuracy of instruction execution greatly enhances the scope of approximate computing, allowing it to be applied to larger parts of programs. The micro-architecture of a quality programmable processor contains hardware mechanisms that translate the instruction-level quality specifications into energy savings. Additionally, it may expose the actual error incurred during the execution of each instruction (which may be less than the specified limit) back to software.
24
Neural Acceleration for General-Purpose Approximate Programs
Hadi Esmaeilzadeh, Adrian Sampson, Luís Ceze et al. · 2012 · 624 citations
Adrian Sampson, Werner Dietl, Emily Fortuna et al. · ACM SIGPLAN Notices · 2011 · 590 citations
Managing performance vs. accuracy trade-offs with loop perforation
Stelios Sidiroglou-Douskos, Saša Misailovíc, Henry Hoffmann et al. · 2011 · 500 citations · Full text