ACM Home Page
Please provide us with feedback. Feedback
Coordinated parallelizing compiler optimizations and high-level synthesis
Full text PdfPdf (924 KB)
Source ACM Transactions on Design Automation of Electronic Systems (TODAES) archive
Volume 9 ,  Issue 4  (October 2004) table of contents
Pages: 441 - 470  
Year of Publication: 2004
ISSN:1084-4309
Authors
Sumit Gupta  Tallwood Venture Capital, Palo Alto, CA
Rajesh Kumar Gupta  University of California, San Deigo, La Jolla, CA
Nikil D. Dutt  University of California, Irvine, CA
Alexandru Nicolau  University of California, Irvine, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 1488,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1027084.1027087
What is a DOI?

ABSTRACT

We present a high-level synthesis methodology that applies a coordinated set of coarse-grain and fine-grain parallelizing transformations. The transformations are applied both during a pre-synthesis phase and during scheduling, with the objective of optimizing the results of synthesis and reducing the impact of control flow constructs on the quality of results. We first apply a set of source level presynthesis transformations that include common sub-expression elimination (CSE), copy propagation, dead code elimination and loop-invariant code motion, along with more coarse-level code restructuring transformations such as loop unrolling. We then explore scheduling techniques that use a set of aggressive speculative code motions to maximally parallelize the design by re-ordering, speculating and sometimes even duplicating operations in the design. In particular, we present a new technique called "Dynamic CSE" that dynamically coordinates CSE and code motions such as speculation and conditional speculation during scheduling. We implemented our parallelizing high-level synthesis in the <i>SPARK</i> framework. This framework takes a behavioral description in ANSI-C as input and generates synthesizable register-transfer level VHDL. Our results from computationally expensive portions of three moderately complex design targets, namely, MPEG-1, MPEG-2 and the GIMP image processing tool, validate the utility of our approach to the behavioral synthesis of designs with complex control flows.


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
2
3
 
4
Brayton, R., Camposano, R., Micheli, G. D., Otten, R., and van Eijndhoven, J. 1988. The Yorktown Silicon Compiler System. Addison-Wesley, Chapter in Silicon Compilation.
 
5
 
6
Celoxica. Celoxica incorporated. DK Design Suite.
 
7
Chaiyakul, V., Gajski, D., and Ramachandran, L. 1992. Minimizing syntactic variance with assignment decision diagrams. Tech. Rep. ICS-TR-92-34, Department of Information and Computer Science, Univ. of California, Irvine.
 
8
 
9
dos Santos, L. 1998. Exploiting instruction-level parallelism: a constructive approach. Ph.D. thesis, Electrical Engineering department, Eindhoven University of Technology.
10
 
11
Fisher, J. 1981. Trace scheduling: A technique for global microcode compaction. IEEE Trans. Comput. 30, 478--490.
 
12
Forte. Forte Design Systems. Behavioral Design Suite.
 
13
 
14
Get2Chip. Get2Chip Incorporated (acquired by Cadence). G2C Architectural Compiler.
 
15
Gimp website. GNU Image Manipulation Program. http://www.gimp.org.
 
16
 
17
 
18
Gupta, S., Gupta, R., Dutt, N., and Nicolau, A. 2004. SPARK: A Parallelizing Approach to the High-Level Synthesis of Digital Circuits. Kluwer Academic.
19
20
21
22
 
23
Gupta, S., Savoiu, N., Dutt, N., Gupta, R., and Nicolau, A. 2003b. Using global code motions to improve the quality of results for high-level synthesis. IEEE Trans. CAD 23, 2 (Feb.).
24
 
25
26
 
27
28
 
29
Kountouris, A. and Wolinski, C. 1999. High level pre-synthesis optimization steps using hierarchical conditional dependency graphs. In Proceedings of the Euromicro Confernce. 1290--1294.
30
 
31
Lakshminarayana, G., Raghunathan, A., and Jha, N. 1999. Wavesched: A novel scheduling technique for control-flow intensive designs. IEEE Trans. CAD, 18, 505--523.
 
32
33
 
34
McFarland, M. C. 1978. The Value Trace: A database for automated digital design. Technical Report DRC-01-4-80, Carnegie-Mellon University, Design Research Center.
 
35
MediaBench. UCLA Mediabench benchmark suite. http://cares.icsl.ucla.edu/MediaBench/.
 
36
 
37
 
38
Nicolau, A. 1985. A development environment for scientific parallel programs. Tech. Rep. TR 86-722, Department of Computer Science, Cornell University.
 
39
Nicolau, A. and Novack, S. 1993. Trailblazing: A hierarchical approach to Percolation Scheduling. In Proceedings of the International Conference on Parallel Processing. 87--96.
 
40
 
41
 
42
 
43
Park, S. and Choi, K. 2001. Performance-driven high-level synthesis with bit-level chaining and clock selection. IEEE Trans. CAD, 20, 2 (Feb.), 1999-212.
 
44
Pasko, R., Schaumont, P., Derudder, V., Vernalde, S., and Durackova, D. 1999. A new algorithm for elimination of common subexpressions. IEEE Trans. CAD, 18, 1 (Jan), 58--68.
 
45
 
46
Potkonjak, M. and Rabaey, J. 1994. Optimizing resource utlization using tranformations. IEEE Trans. CAD, 13, 277--293.
 
47
Potkonjak, M., Srivastava, M., and Chandrakasan, A. 1996. Multiple constant multiplications: Efficient and versatile framework and algorithms for exploring common subexpression elimination. IEEE Trans. CAD, 15, 2 (Mar), 141--150.
 
48
Radivojevic, I. and Brewer, F. 1996. A new symbolic technique for control-dependent scheduling. IEEE Trans. CAD, 15, 45--57.
 
49
 
50
SPARK WEBSITE. SPARK parallelizing high-level synthesis framework website. http://mesl.ucsd.edu/spark.
51
52
53
 
54
 
55
Walker, R. and Thomas, D. 1989. Behavioral transformation for algorithmic level IC design. IEEE Trans. CAD, 8, 1115--1128.

CITED BY  6

Collaborative Colleagues:
Sumit Gupta: colleagues
Rajesh Kumar Gupta: colleagues
Nikil D. Dutt: colleagues
Alexandru Nicolau: colleagues