Abstract
High-Level Languages (HLLs) for Field-Programmable Gate Arrays (FPGAs) facilitate the use of reconfigurable computing resources for application developers by using familiar, higher-level syntax, semantics, and abstractions, typically enabling faster development times than with traditional Hardware Description Languages (HDLs). However, programming at a higher level of abstraction is typically accompanied by some loss of performance as well as reduced transparency of application behavior, making it difficult to understand and improve application performance. While runtime tools for performance analysis are often featured in development with traditional HLLs for sequential and parallel programming, HLL-based development for FPGAs has an equal or greater need yet lacks these tools. This article presents a novel and portable framework for runtime performance analysis of HLL applications for FPGAs, including an automated tool for performance analysis of designs created with Impulse C, a commercial HLL for FPGAs. As a case study, this tool is used to successfully locate performance bottlenecks in a molecular dynamics kernel in order to gain speedup.
- Alam, S. R., Vetter, J. S., Agarwal, P. K., and Geist, A. 2006. Performance characterization of molecular dynamics techniques for biomolecular simulations. In Proceedings of the 11th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP). ACM Press, New York, 59--68. Google Scholar
Digital Library
- Altera. 2007. Implementation of the Smith-Waterman algorithm on a reconfigurable supercomputing platform. http://www.altera.com/literature/wp/wp-01035.pdf.Google Scholar
- Altera. 2008. Design debugging using the SignalTap II embedded logic analyzer. http://www.altera.com/literature/hb/qts/qts_qii53009.pdf.Google Scholar
- Calvez, J. P. and Pasquier, O. 1995. Performance monitoring and assessment of embedded HW/SW systems. In Proceedings of the International Conference on Computer Design (ICCD): VLSI in Computers and Processors. 2--4. Google Scholar
Digital Library
- Curreri, J., Koehler, S., Holland, B., and George, A. D. 2008. Performance analysis with high-level languages for high-performance reconfigurable computing. In Proceedings of the 16th IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM). 14--15. Google Scholar
Digital Library
- DeVille, R., Troxel, I., and George, A. D. 2005. Performance monitoring for run-time management of reconfigurable devices. In Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA). 175--181.Google Scholar
- Graham, P., Nelson, B., and Hutchings, B. 2001. Instrumenting bitstreams for debugging FPGA circuits. In Proceedings of the IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE Computer Society, 41--50. Google Scholar
Digital Library
- Hemmert, K. S., Tripp, J. L., Hutchings, B. L., and Jackson, P. A. 2003. Source level debugger for the sea cucumber synthesizing compiler. In Proceedings of the IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM). 228--237. Google Scholar
Digital Library
- IEEE Computer Society. 2001. IEEE standard test access port and boundary-scan architecture. IEEE Std 1149.1-2001 (R2008).Google Scholar
- Koehler, S., Curreri, J., and George, A. D. 2008. Performance analysis challenges and framework for high-performance reconfigurable computing. Parall. Comput. 34, 217--230. Google Scholar
Digital Library
- Mellor-Crummey, J., Fowler R. J., Marin, G., and Tallent, N. 2002. HPCVIEW: A tool for top-down analysis of node performance. J. Supercomput. 23, 81--104. Google Scholar
Digital Library
- Mohr, B. and Wolf, F. 2003. KOJAK -- A tool set for automatic performance analysis of parallel applications. In Proceedings of the European Conference on Parallel Computing (EuroPar). Lecture Notes in Computer Science, vol. 2790. Springer, 26--29.Google Scholar
- Mysore, S., Agrawal, B., Neuber, R., Sherwood, T., Shrivastava, N. and Suri, S. 2008. Formulating and implementing profiling over adaptive ranges. ACM Trans. Archit. Code Optimiz. 5, 1. Google Scholar
Digital Library
- Pellerin, D. 2007. Email transaction on adding comments to HDL for HLL source correlation. Dec 2007.Google Scholar
- Pellerin, D. and Thibault, S. 2005. Practical FPGA Programming in C. Prentice Hall PTR. Google Scholar
Digital Library
- Poznanovic, D. 2005. Application development on the SRC computers, inc. systems. In Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS). 78a. Google Scholar
Digital Library
- Su, H., Billingsley, M., and George, A. D. 2008. Parallel performance wizard: A performance analysis tool for partitioned global-address-space programming. In Proceedings of the 9th IEEE International Workshop on Parallel and Distributed Scientific and Engineering Computing (PDSEC). 14--15.Google Scholar
- Schulz, M., White, B. S., McKee, S. A., Lee, H. S., and Jeitner, J. 2005. Owl: Next generation system monitoring. In Proceedings of the 2nd Conference on Computing Frontiers (CF). ACM Press, New York, 116--124. Google Scholar
Digital Library
- Shende, S. and Malony, A. D. 2006. The Tau parallel performance system. Int. J. High-Perform. Comput. Appl. 20, 287--311. Google Scholar
Digital Library
- Tong, J. G. and Khalid, M. A. S. 2007. A comparison of profiling tools for FPGA-based embedded systems. In Proceedings of the Canadian Conference on Electrical and Computer Engineering (CCECE). 1687--1690.Google Scholar
- Xilinx. 2007. Xilinx ChipScope Pro software and cores user guide, v. 9.2i. http://www.xilinx.com/ise/verification/chipscope_pro_sw_cores_9_2i_ug029.pdf.Google Scholar
- Zaki, O., Lusk, E., Gropp, W., and Swider, D. 1999. Toward scalable performance visualization with jumpshot. Int. J. High Perform. Comput. Appl. 13, 3, 277--288. Google Scholar
Digital Library
Index Terms
Performance Analysis Framework for High-Level Language Applications in Reconfigurable Computing
Recommendations
Performance Analysis with High-Level Languages for High-Performance Reconfigurable Computing
FCCM '08: Proceedings of the 2008 16th International Symposium on Field-Programmable Custom Computing MachinesHigh-Level Languages (HLLs) for FPGAs (Field-Programmable Gate Arrays) facilitate the use of reconfigurable computing resources for application developers by using familiar, higher-level syntax, semantics, and abstractions, typically enabling faster ...
High-Level Dataflow Programming for Reconfigurable Computing
SBAC-PADW '14: Proceedings of the 2014 International Symposium on Computer Architecture and High Performance Computing WorkshopIn many application domains, FPGAs are now promoted as a way of getting round the restrictions of specific CPU designs on system scalability. However, in the current state-of-the art, programming FPGAs remains essentially a hardware-oriented activity, ...
From software to accelerators with LegUp high-level synthesis
CASES '13: Proceedings of the 2013 International Conference on Compilers, Architectures and Synthesis for Embedded SystemsEmbedded system designers can achieve energy and performance benefits by using dedicated hardware accelerators. However, implementing custom hardware accelerators for an application can be difficult and time intensive. LegUp is an open-source high-level ...






Comments