Abstract
This paper presents new achievements on the automatic mapping of abstract algorithms, written in imperative software programming languages, to custom computing machines. The reconfigurable hardware element of the target architecture consists of one field-programmable gate array coupled with one or more memories. The compilation flow exposes operation- and functional-level parallelism, and speculative execution. Such expositions are efficiently represented in a hierarchical model. In order to take full advantage of such representation, the scheduling scope is significantly improved by merging basic blocks at loop boundaries and by considering the parallel execution of exposed concurrent loops. The paper describes the scheduling technique, shows a study on the impact of the merge operation, and reveals the improvements achieved when the exposed parallelism is fully satisfied.
Research partially supported by the Portuguese PRAXIS XXI Program under the scope of the AXEL Project PRAXIS/2/2.1/TIT/1643/95.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
J. Becker, R. Hartenstein, M. Herz, U. Nageldinger, “Parallelization in Co-Compilation for Configurable Accelerators,” In Proc. of the Asia South Pacific Design Automation Conference (ASP-DAC98), Yokohama, Japan, February 10-13.
João M. P. Cardoso, and Horácio Neto, “Macro-Based Hardware Compilation of Java™ Bytecodes into a Dynamic Reconfigurable Computing System,” In Proc. of the IEEE 7 th Symposium on Field-Programmable Custom Computing Machines (FCCM’99), Napa Valley, CA, USA, April 21–23, 1999, pp. 2–11.
João M. P. Cardoso, Compilation of Java™ Algorithms for Reconfigurable Computing Systems with Exploitation of Operation-Level Parallelism, Ph.D. thesis (in Portuguese), IST (Instituto Superior Técnico), Lisbon, Portugal, October 2000.
Scott Hauck, “The Future of Reconfigurable Systems,” Keynote Address, 5 th Canadian Conference on Field Programmable Devices, Montreal, June 1998.
J. Babb et al, “Parallelizing Applications into Silicon,” In Proc. of the 7 th IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’99), Napa Valley, A, USA, April 21-23, 1999, pp. 70–80.
D. Gajski, et al., High-Level Synthesis, Introduction to Chip and System Design, Kluwer Academic Publishers, 1992.
J. A. Fisher, and B. R. Rau, “Instruction-Level Parallel Processing,” In H. C. Torng and S. Vassiliadis, editors, Instruction-Level Parallel Processors, IEEE Computer Society Press, 1995, pp. 41–49.
Scott A. Mahlke, David Lin, William Y. Chen, Richard E. Hank, Roger A. Bringmann, “Effective Compiler Support for Predicated Execution Using the Hyperblock,” In Proc. of the 25 th International Symposium on Microarchitecture, Dec. 1992, pp. 45–54.
Timothy J. Callahan, John Hauser, and John Wawrzynek, “The Garp Architecture and C Compiler,” IEEE Computer, Vol. 33, No. 4, April 2000, pp. 62–69.
M. Girkar, and C. D. Polychronopoulos, “Automatic Extraction of Functional Parallelism from ordinary Programs,” In IEEE Transactions on Parallel and Distributed Systems, Vol. 3, No. 2, March 1992, pp. 166–178.
J. Ferrante, J. Ottenstein, and J. D. Warren, “The Program Dependence Graph and its uses in optimization,” ACM Transactions on Programming Languages and Systems, vol. 9, no. 3, July 1987, pp. 319–349.
S. Gupta, N. Savoiu, S. Kim, N.D. Dutt, R.K. Gupta, A. Nicolau, “Speculation Techniques for High Level synthesis of Control Intensive Designs,” in Proc. of the 38th Design Automation Conference (DAC’01), Las Vegas, Nevada, USA, June 18-22, 2001.
S. S. Muchnick, Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, Inc., San Francisco, CA, USA, 1997.
João M. P. Cardoso, and Horacio Neto, “An Enhanced Static-List Scheduling Algorithm for Temporal Partitioning onto RPUs,” In Proc. of the IFIP X Intl. Conference on Very Large Scale Integration (VLSI’99), Lisbon, December 1-3, 1999, pp. 485–496.
Xilinx Inc., XC6000 Field Programmable Gate Arrays, v. 1.10, April 24, 1997.
G. Lakshminarayana, K. S. Khouri, and N. K. Jha, “Wavesched: A Novel Scheduling Technique for Control-Flow Intensive Designs,” In IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 18, no. 5, May 1999, pp. 505–523.
G. Lakshminarayana, K. S. Khouri, and N. K. Jha, Benchmarks repository, Workshop on High-Level Synthesis, 1995, ftp://ftp.ics.uci.edu/pubMsynth/HLSynth95
R. Sedgewick, Algorithms in C++, Addison-Wesley, Publishing Company, Inc., 1992.
Morse Rodriguez, “Evaluating Video Codecs,” In IEEE Multimedia, Fall 1994, pp. 25–33.
Cleland. O. Newton, “A Synthesis Process applied to the Kalman Filter Benchmark,” In Proc. of the Workshop on High-Level Synthesis, DRA Malvern, UK. ftp://ftp.ics.uci.edu/pub/hlsynth/HLSynth92/kalman
P. Athanas, H. Silverman, “Processor Reconfiguration through Instruction-Set Metamorphosis: Architecture and Compiler,” IEEE Computer, vol. 26, n. 3, March 1993.
L. Agarwal, et al, “An Asynchronous Approach to Efficient Execution of Programs on Adaptive Architectures Utilizing FPGAs,” In Proc. of the 2 nd IEEE Workshop on FPGAs for Custom Computing Machines (FCCM’94), Napa Valley, CA, USA, April 1994.
D. Galloway, “The Transmogrifier Hardware Description Language and Compiler for FPGAs,” In Proc. of the 3 rd IEEE Workshop on FPGAs for Custom Computing Machines(FCCM’95), Napa Valley, CA, USA, April 1995.
Ouaiss, et al., “An Integrated Partioning and Synthesis System for Dynamically Reconfigurable Multi-FPGA Architectures,” In Proc. of the Reconfigurable Architectures Workshop (RAW’98), Orlando, Florida, USA, March 30, 1998.
J. Hammes, R. Rinker, W. Böhm, W. Najjar, B. Draper, R. Beveridge, “Cameron: High Level Language Compilation for Reconfigurable Systems,” In Proc. of the Int. Conference on Parallel Architectures and Compilation Techniques (PACT’99), Newport Beach, A, USA, Oct. 12–16, 1999.
Sze-Wei Ong, et al.,“Automatic Mapping of Multiple Applications to Multiple Adaptive Computing Systems,” In IEEE 9 th Symposium on Field-Programmable Custom Computing Machines (FCCM’01), Rohnert Park, California, USA, April 30–May 2, 2001.
P. Banerjee, et al., “A MATLAB Compiler For Distributed, Heterogeneous, Reconfigurable Computing Systems,” In Proc. of the IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’00), Napa Valley, CA, USA, Apr. 17-19, 2000, pp. 39–48.
M. Weinhardt, and W. Luk, “Pipeline Vectorization,” In IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, vol. 20, no. 2. Feb. 2001, pp. 234–233.
Pedro Diniz, and Joonseok Park, “Automatic Synthesis of Data Storage and Control Structures for FPGA-based Computing Engines,” In Proc. of the IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’OO), Napa Valley, CA, USA, Apr. 17–19, 2000, pp. 91–100.
Maya Gokhale, and Janice M. Stone, “Napa Compiling for a Hybrid/FPGA Architecture,” In Proc. of the IEEE 6 th Symposium on Field-Programmable Custom Computing Machines (FCCM’98), Napa Valley, CA, USA, April 1998, pp. 126–135.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cardoso, J.M.P., Neto, H.C. (2001). Compilation Increasing the Scheduling Scope for Multi-memory-FPGA-Based Custom Computing Machines. In: Brebner, G., Woods, R. (eds) Field-Programmable Logic and Applications. FPL 2001. Lecture Notes in Computer Science, vol 2147. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44687-7_54
Download citation
DOI: https://doi.org/10.1007/3-540-44687-7_54
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42499-4
Online ISBN: 978-3-540-44687-3
eBook Packages: Springer Book Archive