SECO: A Scalable Accuracy Approximate Exponential Function Via Cross-Layer Optimization
SECO: A Scalable Accuracy Approximate Exponential Function Via Cross-Layer Optimization
复制标题
DOI:
10.1109/islped.2019.8824959
复制
发表时间:
2019-07
期刊:
影响因子:
--
通讯作者:
Di Wu;Tianen Chen;Chienfu Chen;Oghenefego Ahia;Joshua San Miguel;Mikko H. Lipasti;Younghyun Kim
中科院分区:
文献类型:
--
作者:
Di Wu;Tianen Chen;Chienfu Chen;Oghenefego Ahia;Joshua San Miguel;Mikko H. Lipasti;Younghyun Kim
From signal processing to emerging deep neural networks, a range of applications exhibit intrinsic error resilience. For such applications, approximate computing opens up new possibilities for energy-efficient computing by producing slightly inaccurate results using greatly simplified hardware. Adopting this approach, a variety of basic arithmetic units, such as adders and multipliers, have been effectively redesigned to generate approximate results for many error-resilient applications.In this work, we propose SECO, an approximate exponential function unit (EFU). Exponentiation is a key operation in many signal processing applications and more importantly in spiking neuron models, but its energy-efficient implementation has been inadequately explored. We also introduce a cross-layer design method for SECO to optimize the energy-accuracy trade-off. At the algorithm level, SECO offers runtime scaling between energy efficiency and accuracy based on approximate Taylor expansion, where the error is minimized by optimizing parameters using discrete gradient descent at design time. At the circuit level, our error analysis method efficiently explores the design space to select the energy-accuracy-optimal approximate multiplier at design time. In tandem, the cross-layer design and runtime optimization method are able to generate energy-efficient and accurate approximate EFU designs that are up to 99.7% accurate at a power consumption of 3.73 pJ per exponential operation. SECO is also evaluated on the adaptive exponential integrate-and-fire neuron model, yielding only 0.002% timing error and 0.067% value error compared to the precise neuron model.