Bitwidth Customization in Image Processing Pipelines using Interval Analysis and SMT Solvers
Unlike CPUs and GPUs, it is possible to use custom fixed-point data types, specified as a tuple (\alpha, \beta)(α,β), on FPGAs. The parameters \alphaα and \betaβ denote the number of integral and fractional bitwidths respectively. The power and area savings while performing arithmetic operations on fixed-point data types are well known to be significant over using floating-point data types.
In this paper, we propose a hybrid approach involving interval analysis and SMT solvers, for estimating integral bitwidths at different compute stages, in an image processing pipeline, specified using a domain-specific language (DSL) such as PolyMage. The DSL specification facilitates the compiler analysis to infer the underlying computational structure with ease. We also propose a simple and practical profile-driven greedy heuristic search technique for fractional bitwidth analysis. Using the Horn-Schunck Optical Flow benchmark program, we demonstrate where the conventional range analysis approaches fail, and how we overcome them using the hybrid technique proposed in this paper. The integral bitwidth estimates provided by the hybrid technique are upto 3x times better when compared with interval analysis.
Sat 22 FebDisplayed time zone: Pacific Time (US & Canada) change
10:30 - 12:00
|Bitwidth Customization in Image Processing Pipelines using Interval Analysis and SMT Solvers|
|Is Stateful Packrat Parsing Really Linear in Practice? -- A Counter-Example, An Improved Grammar and Its Parsing Algorithms --|
|Automatically Harnessing Sparse Acceleration|
|Compiling First-order Functions to Session-Typed Parallel Code|