{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,2]],"date-time":"2026-04-02T16:01:47Z","timestamp":1775145707788,"version":"3.50.1"},"publisher-location":"Cham","reference-count":30,"publisher":"Springer International Publishing","isbn-type":[{"value":"9783319264066","type":"print"},{"value":"9783319264080","type":"electronic"}],"license":[{"start":{"date-parts":[[2016,1,1]],"date-time":"2016-01-01T00:00:00Z","timestamp":1451606400000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2016]]},"DOI":"10.1007\/978-3-319-26408-0_8","type":"book-chapter","created":{"date-parts":[[2016,6,17]],"date-time":"2016-06-17T06:32:11Z","timestamp":1466145131000},"page":"137-163","source":"Crossref","is-referenced-by-count":39,"title":["Source-to-Source Optimization for HLS"],"prefix":"10.1007","author":[{"given":"Jason","family":"Cong","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Muhuan","family":"Huang","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Peichen","family":"Pan","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yuxin","family":"Wang","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Peng","family":"Zhang","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2016,6,18]]},"reference":[{"key":"8_CR10","doi-asserted-by":"crossref","unstructured":"S. Aditya, V. Kathail, Algorithmic synthesis using PICO: an integrated framework for application engine synthesis and verification from high level C algorithms, High-Level Synthesis: From Algorithm to Digital Circuit, Springer Netherlands, 2008, Chap. 4, pp. 53\u201374.","DOI":"10.1007\/978-1-4020-8588-8_4"},{"key":"8_CR27","doi-asserted-by":"crossref","unstructured":"C. Bastoul. Code generation in the polyhedral model is easier than you think. In Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques, pages 7\u201316. IEEE Computer Society, 2004.","DOI":"10.1109\/PACT.2004.1342537"},{"key":"8_CR31","volume-title":"Pattern Recognition and Machine Learning (Information Science and Statistics)","author":"C. M. Bishop","year":"2006","unstructured":"C. M. Bishop. Pattern Recognition and Machine Learning (Information Science and Statistics). Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2006."},{"key":"8_CR58","doi-asserted-by":"crossref","unstructured":"A. Cilardo and L. Gallo. Improving multibank memory access parallelism with lattice-based partitioning. ACM Trans. Archit. Code Optim., 11(4):45:1\u201345:25, January 2015.","DOI":"10.1145\/2675359"},{"key":"8_CR60","doi-asserted-by":"crossref","unstructured":"J. Cong, M. Huang, B. Liu, P. Zhang, and Y. Zou. Combining module selection and replication for throughput-driven streaming programs. In Proceedings of the Conference on Design, Automation and Test in Europe, DATE \u201912, pages 1018\u20131023, San Jose, CA, USA, 2012. EDA Consortium.","DOI":"10.1109\/DATE.2012.6176645"},{"key":"8_CR62","doi-asserted-by":"crossref","unstructured":"J. Cong, M. Huang, and P. Zhang. Combining computation and communication optimizations in system synthesis for streaming applications. In Proceedings of the 2014 ACM\/SIGDA International Symposium on Field-programmable Gate Arrays, FPGA \u201914, pages 213\u2013222, New York, NY, USA, 2014. ACM.","DOI":"10.1145\/2554688.2554771"},{"key":"8_CR63","doi-asserted-by":"crossref","unstructured":"J. Cong, W. Jiang, B. Liu, and Y. Zou. Automatic memory partitioning and scheduling for throughput and power optimization. In Proceedings of the 2009 International Conference on Computer-Aided Design, ICCAD \u201909, pages 697\u2013704, New York, NY, USA, 2009. ACM.","DOI":"10.1145\/1687399.1687528"},{"key":"8_CR64","doi-asserted-by":"crossref","unstructured":"J. Cong, W. Jiang, B. Liu, and Y. Zou. Automatic memory partitioning and scheduling for throughput and power optimization. ACM Transactions on Design Automation of Electronic Systems (TODAES), 16(2):15, 2011.","DOI":"10.1145\/1929943.1929947"},{"issue":"4","key":"8_CR65","doi-asserted-by":"crossref","first-page":"473","DOI":"10.1109\/TCAD.2011.2110592","volume":"30","author":"J. Cong","year":"2011","unstructured":"J. Cong, B. Liu, S. Neuendorffer, J. Noguera, K. Vissers, and Z. Zhang. High-level synthesis for FPGAs: From prototyping to deployment. Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, 30(4):473\u2013491, 2011.","journal-title":"Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on"},{"key":"8_CR75","doi-asserted-by":"crossref","unstructured":"J. Cong, P. Zhang, and Y. Zou. Optimizing memory hierarchy allocation with loop transformations for high-level synthesis. In Proceedings of the 49th Annual Design Automation Conference, pages 1233\u20131238. ACM, 2012.","DOI":"10.1145\/2228360.2228586"},{"key":"8_CR85","doi-asserted-by":"crossref","unstructured":"P. Feautrier. Some efficient solutions to the affine scheduling problem. part ii. multidimensional time. International journal of parallel programming, 21(6):389\u2013420, 1992.","DOI":"10.1007\/BF01379404"},{"issue":"4","key":"8_CR101","doi-asserted-by":"crossref","first-page":"441","DOI":"10.1145\/1027084.1027087","volume":"9","author":"S. Gupta","year":"2004","unstructured":"S. Gupta, R. K. Gupta, N. D. Dutt, and A. Nicolau. Coordinated parallelizing compiler optimizations and high-level synthesis. ACM Trans. Des. Autom. Electron. Syst., 9(4):441\u2013470, October 2004.","journal-title":"ACM Trans. Des. Autom. Electron. Syst."},{"key":"8_CR130","doi-asserted-by":"crossref","unstructured":"A. Hagiescu, W.-F. Wong, D. F. Bacon, and R. Rabbah. A computing origami: Folding streams in FPGAs. In Design Automation Conference, 2009. DAC\u201909. 46th ACM\/IEEE, pages 282\u2013287. IEEE, 2009.","DOI":"10.1145\/1629911.1629987"},{"key":"8_CR150","unstructured":"LLVM. LLVM - Low Level Virtual Machine, 2015. http:\/\/www.llvm.org [Online; accessed 1-April]."},{"key":"8_CR180","unstructured":"OpenAcc. OpenACC directives for accelerators, 2015. http:\/\/www.openacc-standard.org\/ [Online; accessed 4-August]."},{"key":"8_CR181","unstructured":"OpenMP. The OpenMP API specification for parallel programming, 2015. http:\/\/openmp.org\/ [Online; accessed 4-August]."},{"key":"8_CR189","unstructured":"L.-N. Pouchet. Interative Optimization in the Polyhedral Model. PhD thesis, University of Paris-Sud 11, Orsay, France, January 2010."},{"key":"8_CR190","doi-asserted-by":"crossref","unstructured":"N. K. Pham, A. K. Singh, A. Kumar, and M. M. A. Khin. Exploiting loop-array dependencies to accelerate the design space exploration with high level synthesis. In Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition, pages 157\u2013162. EDA Consortium, 2015.","DOI":"10.7873\/DATE.2015.0199"},{"key":"8_CR191","doi-asserted-by":"crossref","unstructured":"L.-N. Pouchet, P. Zhang, P. Sadayappan, and J. Cong. Polyhedral-based data reuse optimization for configurable computing. In Proceedings of the ACM\/SIGDA international symposium on Field programmable gate arrays, pages 29\u201338. ACM, 2013.","DOI":"10.1145\/2435264.2435273"},{"issue":"1","key":"8_CR213","doi-asserted-by":"crossref","first-page":"153","DOI":"10.1109\/TCAD.2009.2035579","volume":"29","author":"B. C. Schafer","year":"2010","unstructured":"B. C. Schafer and K. Wakabayashi. Design space exploration acceleration through operation clustering. Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, 29(1):153\u2013157, 2010.","journal-title":"Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on"},{"key":"8_CR214","doi-asserted-by":"crossref","unstructured":"B. C. Schafer and K. Wakabayashi. Divide and conquer high-level synthesis design space exploration. ACM Trans. Des. Autom. Electron. Syst., 17(3):29:1\u201329:19, July 2012.","DOI":"10.1145\/2209291.2209302"},{"key":"8_CR226","doi-asserted-by":"crossref","unstructured":"F. Winterstein, S. Bayliss, and G. A. Constantinides. Separation logic-assisted code transformations for efficient high-level synthesis. In Field-Programmable Custom Computing Machines (FCCM), 2014 IEEE 22nd Annual International Symposium on, pages 1\u20138. IEEE, 2014.","DOI":"10.1109\/FCCM.2014.11"},{"key":"8_CR230","doi-asserted-by":"crossref","unstructured":"F. Winterstein, K. Fleming, H.-J. Yang, S. Bayliss, and G. Constantinides. Matchup: Memory abstractions for heap manipulating programs. In Proceedings of the 2015 ACM\/SIGDA International Symposium on Field-Programmable Gate Arrays, pages 136\u2013145. ACM, 2015.","DOI":"10.1145\/2684746.2689073"},{"issue":"4","key":"8_CR233","doi-asserted-by":"crossref","first-page":"452","DOI":"10.1109\/71.97902","volume":"2","author":"M. E. Wolf","year":"1991","unstructured":"M. E. Wolf and M. S. Lam. A loop transformation theory and an algorithm to maximize parallelism. Parallel and Distributed Systems, IEEE Transactions on, 2(4):452\u2013471, 1991.","journal-title":"Parallel and Distributed Systems, IEEE Transactions on"},{"key":"8_CR234","doi-asserted-by":"crossref","unstructured":"Y. Wang, P. Li, and J. Cong. Theory and algorithm for generalized memory partitioning in high-level synthesis. In Proceedings of the 2014 ACM\/SIGDA international symposium on Field-programmable gate arrays, pages 199\u2013208. ACM, 2014.","DOI":"10.1145\/2554688.2554780"},{"key":"8_CR236","doi-asserted-by":"crossref","unstructured":"Y. Wang, P. Li, P. Zhang, C. Zhang, and J. Cong. Memory partitioning for multidimensional arrays in high-level synthesis. In Proceedings of the 50th Annual Design Automation Conference, page 12. ACM, 2013.","DOI":"10.1145\/2463209.2488748"},{"key":"8_CR242","doi-asserted-by":"crossref","unstructured":"Y. Wang, P. Zhang, X. Cheng, and J. Cong. An integrated and automated memory optimization flow for FPGA behavioral synthesis. In Design Automation Conference (ASP-DAC), 2012 17th Asia and South Pacific, pages 257\u2013262. IEEE, 2012.","DOI":"10.1109\/ASPDAC.2012.6164955"},{"key":"8_CR251","doi-asserted-by":"crossref","unstructured":"H. Yang, K. Fleming, M. Adler, and J. Emer. LEAP shared memories: Automating the construction of FPGA coherent memories. In 2014 Symposium on Field-Programmable Custom Computing Machines, pages 117\u2013124. IEEE, 2014.","DOI":"10.1109\/FCCM.2014.43"},{"key":"8_CR255","doi-asserted-by":"crossref","unstructured":"Z. Zhang, Y. Fan, W. Jiang, G. Han, C. Yang, and J. Cong. AutoPilot: A platform-based ESL synthesis system. In High-Level Synthesis, pages 99\u2013112. Springer, 2008.","DOI":"10.1007\/978-1-4020-8588-8_6"},{"key":"8_CR258","doi-asserted-by":"crossref","unstructured":"W. Zuo, P. Li, D. Chen, L.-N. Pouchet, S. Zhong, and J. Cong. Improving polyhedral code generation for high-level synthesis. In Proceedings of the Ninth IEEE\/ACM\/IFIP International Conference on Hardware\/Software Codesign and System Synthesis, page 15. IEEE Press, 2013.","DOI":"10.1109\/CODES-ISSS.2013.6659002"}],"container-title":["FPGAs for Software Programmers"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-26408-0_8","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,3]],"date-time":"2025-06-03T22:01:34Z","timestamp":1748988094000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-319-26408-0_8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016]]},"ISBN":["9783319264066","9783319264080"],"references-count":30,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-26408-0_8","relation":{},"subject":[],"published":{"date-parts":[[2016]]}}}