Using Program Specialization to Speed SystemC Fixed-Point Simulation

Edwards, Stephen A.

Generic simulation components, such as fixed-precision arithmetic routines, make it easier to quickly assemble system simulations, but generic components tend to simulate more slowly than their manually-written specialized counterparts. So a system modeler is normally forced to choose between building a simulation quickly or running it quickly.This paper explores the use of program specialization as a way to address this conundrum. Through hints provided by the author of a generic library and aggressive compiler optimizations, program specialization can automatically rewrite a generic component into a specialized one with performance comparable to a careful manual implementation. As a result, the user of such a specializable library can quickly assemble a simulation from generic components whose performance can equal that of a more tedious implementation.Experimental results show that program specialization provides a three- to seven-times speed-up on an important class of simulations: signal processing kernels in SystemC that manipulate fixed-precision numbers.



Also Published In

PEPM 2006: proceedings of the Workshop on Partial Evaluation and Program Manipulation: Charleston, South Carolina, January 9-10, 2006
ACM Press

More About This Work

Academic Units
Computer Science
Published Here
September 22, 2011