|
ABSTRACT
Hardware/software partitioning is an increasingly common technique that maps critical regions of a software application into custom hardware to achieve application speedup. Most previous partitioning approaches assume that each application region has only a single hardware implementation. However, code regions typically can be implemented as many different versions that tradeoff performance and area, as in the case of a loop that can be unrolled by different amounts. We introduce a new formulation of hardware/software partitioning that integrates multiple versions of region implementations, improving performance by more than 27% on average compared to partitioning with a single implementation. We present an optimal ILP solution, and introduce an efficient heuristic that achieves solutions within 0% to 8% of the optimal while running in less than one second for large problem sizes.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Chatha, K. and Vemuri, R. 2000. An iterative algorithm for partitioning, hardware design space exploration and scheduling of hardware-software systems. Design Automation for Embedded Systems Journal, No. 5, August 2000, pp 281--293,.
|
 |
2
|
|
| |
3
|
CriticalBlue. http://www.criticalblue.com.
|
| |
4
|
EEMBC. http://www.eembc.org.
|
| |
5
|
Eles, P., Peng, Z., Kuchchinski, K., and Doboli, A. 1997. System level hardware/software partitioning based on simulated annealing and tabu search. Journal on Design Automation for Embedded Systems, Vol. 2, No. 1, pp. 5--32.
|
| |
6
|
Ernst, R. and Henkel, J. 1992. Hardware-software codesign of embedded controllers based on hardware extraction. In Proceedings of the International Workshop on Hardware/Software Codesign (CODES).
|
| |
7
|
J. Grode , P. V. Knudsen , J. Madsen, Hardware resource allocation for hardware/software partitioning in the LYCOS system, Proceedings of the conference on Design, automation and test in Europe, p.22-27, February 23-26, 1998, Le Palais des Congrés de Paris, France
|
| |
8
|
Gupta, R. and De Micheli, G. 1992. System-level synthesis using reprogrammable components. In Proceedings of the Conference on Design, Automation and Test in Europe (DATE), pp. 2--7.
|
| |
9
|
|
 |
10
|
|
| |
11
|
ILOG CPLEX. http://www.ilog.com/products/cplex/
|
| |
12
|
|
| |
13
|
|
| |
14
|
Chunho Lee , Miodrag Potkonjak , William H. Mangione-Smith, MediaBench: a tool for evaluating and synthesizing multimedia and communicatons systems, Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, p.330-335, December 01-03, 1997, Research Triangle Park, North Carolina, United States
|
 |
15
|
|
| |
16
|
|
| |
17
|
Pellerin, D. and Thibault, S. 2006. Evaluating hardware acceleration strategies using C-to-hardware tools. XCell Journal, Issue 58, pp. 16--18.
|
 |
18
|
Yanbing Li , Tim Callahan , Ervan Darnell , Randolph Harr , Uday Kurkure , Jon Stockwood, Hardware-software co-design of embedded reconfigurable architectures, Proceedings of the 37th conference on Design automation, p.507-512, June 05-09, 2000, Los Angeles, California, United States
[doi> 10.1145/337292.337559]
|
 |
19
|
|
| |
20
|
V. Srinivasan , S. Radhakrishnan , R. Vemuri, Hardware/software partitioning with integrated hardware design space exploration, Proceedings of the conference on Design, automation and test in Europe, p.28-35, February 23-26, 1998, Le Palais des Congrés de Paris, France
|
| |
21
|
Stitt, G. 2008. Hardware/software partitioning with multi-version implementation exploration. Technical Report, February 2008. University of Florida.
|
 |
22
|
|
 |
23
|
Greg Stitt , Frank Vahid , Gordon McGregor , Brian Einloth, Hardware/software partitioning of software binaries: a case study of H.264 decode, Proceedings of the 3rd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, September 19-21, 2005, Jersey City, NJ, USA
[doi> 10.1145/1084834.1084905]
|
| |
24
|
|
| |
25
|
XPRES Compiler. http://www.tensilica.com/html/xpres.html.
|
| |
26
|
Yamada, T., Kataoka, S., and Watanabe, K. 2002. Heuristic and exact algorithms for the disjunctively constrained knapsack problem. Information Processing Society of Japan Journal, Vol. 43, No. 9, pp. 2864--2870.
|
|