Back to Search Start Over

Convolution Engine: Balancing Efficiency and Flexibility in Specialized Computing.

Authors :
Qadeer, Wajahat
Hameed, Rehan
Shacham, Ofer
Venkatesan, Preethi
Kozyrakis, Christos
Horowitz, Mark
Source :
Communications of the ACM. Apr2015, Vol. 58 Issue 4, p85-93. 9p. 5 Diagrams, 5 Charts, 4 Graphs.
Publication Year :
2015

Abstract

General-purpose processors, while tremendously versatile, pay a huge cost for their flexibility by wasting over 99% of the energy in programmability overheads. We observe that reducing this waste requires tuning data storage and compute structures and their connectivity to the data-flow and data-locality patterns in the algorithms. Hence, by backing off from full programmability and instead targeting key data-flow patterns used in a domain, we can create efficient engines that can be programmed and reused across a wide range of applications within that domain. We present the Convolution Engine (CE)--a programmable processor specialized for the convolution-like data-flow prevalent in computational photography, computer vision, and video processing. The CE achieves energy efficiency by capturing data-reuse patterns, eliminating data transfer overheads, and enabling a large number of operations per memory access. We demonstrate that the CE is within a factor of 2–3× of the energy and area efficiency of custom units optimized for a single kernel. The CE improves energy and area efficiency by 8–15× over data-parallel Single Instruction Multiple Data (SIMD) engines for most image processing applications. [ABSTRACT FROM AUTHOR]

Details

Language :
English
ISSN :
00010782
Volume :
58
Issue :
4
Database :
Academic Search Index
Journal :
Communications of the ACM
Publication Type :
Periodical
Accession number :
101826068
Full Text :
https://doi.org/10.1145/2735841