Abstract
The accuracy of an approximate computation is the distance between the result that the computation produces and the corresponding fully accurate result. The reliability of the computation is the probability that it will produce an acceptably accurate result. Emerging approximate hardware platforms provide approximate operations that, in return for reduced energy consumption and/or increased performance, exhibit reduced reliability and/or accuracy.
We present Chisel, a system for reliability- and accuracy-aware optimization of approximate computational kernels that run on approximate hardware platforms. Given a combined reliability and/or accuracy specification, Chisel automatically selects approximate kernel operations to synthesize an approximate computation that minimizes energy consumption while satisfying its reliability and accuracy specification.
We evaluate Chisel on five applications from the image processing, scientific computing, and financial analysis domains. The experimental results show that our implemented optimization algorithm enables Chisel to optimize our set of benchmark kernels to obtain energy savings from 8.7% to 19.8% compared to the fully reliable kernel implementations while preserving important reliability guarantees.
- T. Bao, Y. Zheng, and X. Zhang. White box sampling in uncertain data processing enabled by program analysis. In OOPSLA, 2012. Google Scholar
Digital Library
- J. Birge. Optimization Methods in Dynamic Portfolio Management (Chapter 20). Elsevier, 2007.Google Scholar
- B. Boston, A. Sampson, D. Grossman, and L. Ceze. Tuning approximate computations with constraint-based type inference. In WACAS'14.Google Scholar
- M. Carbin, D. Kim, S. Misailovic, and M. Rinard. Proving\,acceptability properties\,of\,relaxed\,nondeterministic\,approximate\,programs. PLDI'12. Google Scholar
Digital Library
- M. Carbin, D. Kim, S. Misailovic, and M. Rinard. Verified integrity properties for safe approximate program transformations. PEPM, 2013. Google Scholar
Digital Library
- M. Carbin, S. Misailovic, and M. Rinard. Verifying quantitative reliability for programs that execute on unreliable hardware. OOPSLA'13. Google Scholar
Digital Library
- M. Carbin and M. Rinard. Automatically identifying critical input regions and code in applications. In ISSTA, 2010. Google Scholar
Digital Library
- S. Chaudhuri, S. Gulwani, and R. Lublinerman. Continuity analysis of programs. In POPL, 2010. Google Scholar
Digital Library
- S. Chaudhuri, S. Gulwani, R. Lublinerman, and S. Navidpour. Proving programs robust. FSE, 2011. Google Scholar
Digital Library
- E. Darulova and V. Kuncak. Sound compilation of reals. POPL, 2014. Google Scholar
Digital Library
- P. Düben, J. Joven, A. Lingamneni, H. McNamara, G. De Micheli, K. Palem, and T. Palmer. On the use of inexact, pruned hardware in atmospheric modelling. Philosophical Transactions of the Royal Society, 372, 2014.Google Scholar
- H. Esmaeilzadeh, A. Sampson, L. Ceze, and D. Burger. Architecture support for disciplined approximate programming. ASPLOS, 2012. Google Scholar
Digital Library
- A. Gaffar, O. Mencer, W. Luk, P. Cheung, and N. Shirazi. Floating-point bitwidth analysis via automatic differentiation. In FPT, 2002.Google Scholar
Cross Ref
- Gurobi. http://www.gurobi.com/.Google Scholar
- H. Hoffmann, S. Sidiroglou, M. Carbin, S. Misailovic, A. Agarwal, and M. Rinard. Dynamic knobs for responsive power-aware computing. ASPLOS, 2011. Google Scholar
Digital Library
- H. Kaul, M. Anders, S. Mathew, S. Hsu, A Agarwal, F. Sheikh, R. Krishnamurthy, and S. Borkar. A 1.45ghz 52-to-162gflops/w variable-precision floating-point fused multiply-add unit with certainty tracking in 32nm cmos. In ISSCC, 2012.Google Scholar
Cross Ref
- K. Lee, A. Shrivastava, I. Issenin, N. Dutt, and N. Venkatasubramanian. Mitigating soft error failures for multimedia applications by selective data protection. CASES, 2006. Google Scholar
Digital Library
- L. Leem, H. Cho, J. Bau, Q. Jacobson, and S. Mitra. Ersa: error resilient system architecture for probabilistic applications. DATE'10. Google Scholar
Digital Library
- T. Lin, S. Tarsa, and H. T. Kung. Parallelization primitives for dynamic sparse computations. In HotPar, 2013.Google Scholar
- S. Liu, K. Pattabiraman, T. Moscibroda, and B. Zorn. Flikker: saving dram refresh-power through critical data partitioning. ASPLOS, 2011. Google Scholar
Digital Library
- S. Misailovic, M. Carbin, S. Achour, Z. Qi, and M. Rinard. Reliability-aware optimization of approximate computational kernels with rely. Technical Report MIT-CSAIL-TR-2014-001, MIT, 2014.Google Scholar
- S. Misailovic, M. Carbin, S. Achour, Qi. Z, and M. Rinard. Chisel: Reliability- and accuracy-aware optimization of approximate computational kernels (appendix). http://groups.csail.mit.edu/pac/chisel. Google Scholar
Digital Library
- S. Misailovic, D. Kim, and M. Rinard. Parallelizing sequential programs with statistical accuracy tests. ACM TECS Special Issue on Probabilistic Embedded Computing, 2013. Google Scholar
Digital Library
- S. Misailovic, D. Roy, and M. Rinard. Probabilistically accurate program transformations. SAS, 2011. Google Scholar
Digital Library
- S. Misailovic, S. Sidiroglou, H. Hoffmann, and M. Rinard. Quality of service profiling. ICSE, 2010. Google Scholar
Digital Library
- S. Narayanan, J. Sartori, R. Kumar, and D. Jones. Scalable stochastic processors. DATE, 2010. Google Scholar
Digital Library
- W. Osborne, R. Cheung, J. Coutinho, W. Luk, and O. Mencer. Automatic accuracy-guaranteed bit-width optimization for fixed and floating-point systems. In FPL, 2007.Google Scholar
Cross Ref
- K. Palem. Energy aware computing through probabilistic switching: A study of limits. IEEE Transactions on Computers, 2005. Google Scholar
Digital Library
- J. Palsberg and M. Naik. Ilp-based resource-aware compilation. Multiprocessor Systems-on-Chips, Elsevier, 2004.Google Scholar
- J. Park, X. Zhang, K. Ni, H. Esmaeilzadeh, and M. Naik. Expectation-oriented framework for automating approximate programming. Technical Report GT-CS-14-05, Georgia Institute of Technology, 2014.Google Scholar
- M. Rinard. Probabilistic accuracy bounds for fault-tolerant computations that discard tasks. ICS, 2006. Google Scholar
Digital Library
- M. Rinard. Using early phase termination to eliminate load imbalances at barrier synchronization points. OOPSLA, 2007. Google Scholar
Digital Library
- M. Rinard, C. Cadar, D. Dumitran, D.M. Roy, T. Leu, and W.S. Beebee Jr. Enhancing server availability and security through failure-oblivious computing. OSDI, 2004. Google Scholar
Digital Library
- P. Roy, R. Ray, C. Wang, and W. Wong. Asac: automatic sensitivity analysis for approximate computing. In LCTES, 2014. Google Scholar
Digital Library
- A. Sampson, W. Dietl, E. Fortuna, D. Gnanapragasam, L. Ceze, and D. Grossman. Enerj: Approximate data types for safe and general low-power computation. PLDI, 2011. Google Scholar
Digital Library
- A. Sampson, J. Nelson, K. Strauss, and L. Ceze. Approximate storage in solid-state memories. In MICRO, 2013. Google Scholar
Digital Library
- H. Saputra, M. Kandemir, N. Vijaykrishnan, M. J. Irwin, J. S. Hu, C-H. Hsu, and U. Kremer. Energy-conscious compilation based on voltage scaling. LCTES/SCOPES, 2002. Google Scholar
Digital Library
- M. Shoushtari, A. Banaiyan, and N. Dutt. Relaxing manufacturing guard-bands in memories for energy savings. Technical Report CECS TR 10-04, UCI, 2014.Google Scholar
- S. Sidiroglou, S. Misailovic, H. Hoffmann, and M. Rinard. Managing performance vs.\ accuracy trade-offs with loop perforation. FSE, 2011.Google Scholar
Digital Library
- R. St Amant, A. Yazdanbakhsh, J. Park, B. Thwaites, H. Esmaeilzadeh, A. Hassibi, L. Ceze, and D. Burger. General-purpose code acceleration with limited-precision analog computation. In ISCA, 2014. Google Scholar
Digital Library
- J. Tong, D. Nagle, and R. Rutenbar. Reducing power by optimizing the necessary precision/range of floating-point arithmetic. IEEE Trans. Very Large Scale Integr. Syst., 2000. Google Scholar
Digital Library
- S. Venkataramani, V. Chippa, S. Chakradhar, K. Roy, and A. Raghunathan. Quality programmable vector processors for approximate computing. MICRO, 2013. Google Scholar
Digital Library
- Y. Yetim, S. Malik, and M. Martonosi. Eprof: An energy/performance/reliability optimization framework for streaming applications. In ASP-DAC, 2012.Google Scholar
Cross Ref
- Z. Zhu, S. Misailovic, J. Kelner, and M. Rinard. Randomized accuracy-aware program transformations for efficient approximate computations. POPL, 2012. Google Scholar
Digital Library
Index Terms
Chisel: reliability- and accuracy-aware optimization of approximate computational kernels
Recommendations
Chisel: reliability- and accuracy-aware optimization of approximate computational kernels
OOPSLA '14: Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & ApplicationsThe accuracy of an approximate computation is the distance between the result that the computation produces and the corresponding fully accurate result. The reliability of the computation is the probability that it will produce an acceptably accurate ...
Chisel: constructing hardware in a Scala embedded language
DAC '12: Proceedings of the 49th Annual Design Automation ConferenceIn this paper we introduce Chisel, a new hardware construction language that supports advanced hardware design using highly parameterized generators and layered domain-specific hardware languages. By embedding Chisel in the Scala programming language, ...
Approximate on-the-fly coarse-grained reconfigurable acceleration for general-purpose applications
DAC '18: Proceedings of the 55th Annual Design Automation ConferenceApproximate functional unit designs have the potential to reduce power consumption significantly compared to their precise counterparts; however, few works have investigated composing them to build generic accelerators. In this work, we do a design-...







Comments