{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:59Z","timestamp":1772164079598,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":55,"publisher":"ACM","license":[{"start":{"date-parts":[[2017,3,25]],"date-time":"2017-03-25T00:00:00Z","timestamp":1490400000000},"content-version":"vor","delay-in-days":365,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"AHPCRC","award":["W911NF-07-2-0027-1"],"award-info":[{"award-number":["W911NF-07-2-0027-1"]}]},{"DOI":"10.13039\/100000185","name":"Defense Advanced Research Projects Agency","doi-asserted-by":"publisher","award":["FA8750-12-2-0335"],"award-info":[{"award-number":["FA8750-12-2-0335"]}],"id":[{"id":"10.13039\/100000185","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Dept. of Energy - Pacific Northwest National Lab (PNNL)","award":["Subcontract 108845"],"award-info":[{"award-number":["Subcontract 108845"]}]},{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["IIS-1247701, CCF-1111943, CCF-1337375, SHF-1408911"],"award-info":[{"award-number":["IIS-1247701, CCF-1111943, CCF-1337375, SHF-1408911"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2016,3,25]]},"DOI":"10.1145\/2872362.2872415","type":"proceedings-article","created":{"date-parts":[[2016,3,28]],"date-time":"2016-03-28T09:24:30Z","timestamp":1459157070000},"page":"651-665","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":38,"title":["Generating Configurable Hardware from Parallel Patterns"],"prefix":"10.1145","author":[{"given":"Raghu","family":"Prabhakar","sequence":"first","affiliation":[{"name":"Stanford University, Stanford, CA, USA"}]},{"given":"David","family":"Koeplinger","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, CA, USA"}]},{"given":"Kevin J.","family":"Brown","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, CA, USA"}]},{"given":"HyoukJoong","family":"Lee","sequence":"additional","affiliation":[{"name":"Stanford University, Google, Stanford, CA, USA"}]},{"given":"Christopher","family":"De Sa","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, CA, USA"}]},{"given":"Christos","family":"Kozyrakis","sequence":"additional","affiliation":[{"name":"Stanford University, EPFL, Stanford, CA, USA"}]},{"given":"Kunle","family":"Olukotun","sequence":"additional","affiliation":[{"name":"Stanford University, Stanford, CA, USA"}]}],"member":"320","published-online":{"date-parts":[[2016,3,25]]},"reference":[{"key":"e_1_3_2_1_1_1","volume-title":"http:\/\/www.xilinx.com\/products\/design-tools\/vivado\/integration\/esl-design.html","author":"Vivado","year":"2016","unstructured":"Vivado high-level synthesis. http:\/\/www.xilinx.com\/products\/design-tools\/vivado\/integration\/esl-design.html, 2016."},{"key":"e_1_3_2_1_2_1","volume-title":"Using fpga devices to accelerate biomolecular simulations. Computer, (3):66--73","author":"Alam Sadaf R","year":"2007","unstructured":"Sadaf R Alam, Pratul K Agarwal, Melissa C Smith, Jeffrey S Vetter, and David Caliga. Using fpga devices to accelerate biomolecular simulations. Computer, (3):66--73, 2007."},{"key":"e_1_3_2_1_3_1","first-page":"249","volume-title":"Proceedings of the First ACM and IEEE International Conference on Formal Methods and Models for Co-Design, MEMOCODE '03","unstructured":"Arvind. Bluespec: A language for hardware design, simulation, synthesis and verification invited talk. In Proceedings of the First ACM and IEEE International Conference on Formal Methods and Models for Co-Design, MEMOCODE '03, pages 249--, Washington, DC, USA, 2003. IEEE Computer Society."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1869459.1869469"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2228360.2228584"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2436696.2443836"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1002\/9780470828519"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-11970-5_16"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375595"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1375581.1375595"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2854038.2854042"},{"key":"e_1_3_2_1_12_1","volume-title":"SEG\/San Antonio Annual Meeting","author":"Samuel","year":"2007","unstructured":"Samuel Brown et al. Performance comparison of finite-difference modeling on cell, fpga and multi-core computers. In SEG\/San Antonio Annual Meeting, 2007."},{"key":"e_1_3_2_1_13_1","first-page":"47","volume-title":"Proceedings of the 16th ACM symposium on Principles and practice of parallel programming, PPoPP","author":"Catanzaro Bryan","year":"2011","unstructured":"Bryan Catanzaro, Michael Garland, and Kurt Keutzer. Copperhead: compiling an embedded data parallel language. In Proceedings of the 16th ACM symposium on Principles and practice of parallel programming, PPoPP, pages 47--56, New York, NY, USA, 2011. ACM."},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806638"},{"key":"e_1_3_2_1_15_1","volume-title":"Citeseer","author":"Chen Chun","year":"2008","unstructured":"Chun Chen, Jacqueline Chame, and Mary Hall. Chill: A framework for composing high-level loop transformations. Technical report, Citeseer, 2008."},{"issue":"4","key":"e_1_3_2_1_16_1","first-page":"473","article-title":"High-level synthesis for fpgas: From prototyping to deployment. Computer-Aided Design of Integrated Circuits and Systems","volume":"30","author":"Cong J.","year":"2011","unstructured":"J. Cong, Bin Liu, S. Neuendorffer, J. Noguera, K. Vissers, and Zhiru Zhang. High-level synthesis for fpgas: From prototyping to deployment. Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, 30(4):473--491, April 2011.","journal-title":"IEEE Transactions on"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-15407-7"},{"key":"e_1_3_2_1_18_1","first-page":"137","volume-title":"OSDI","author":"Dean Jeffrey","year":"2004","unstructured":"Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. In OSDI, OSDI, pages 137--150, 2004."},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1109\/MDT.2006.134"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2014.6927454"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0129626412500107"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/FPL.2014.6927378"},{"key":"e_1_3_2_1_23_1","volume-title":"http:\/\/www.ece.cmu.edu\/ calcm\/carl\/lib\/exe\/fetch.php?media=carl15-gupta.pdf","author":"Gupta Prabhat K.","year":"2015","unstructured":"Prabhat K. Gupta. Xeon+fpga platform for the data center. http:\/\/www.ece.cmu.edu\/ calcm\/carl\/lib\/exe\/fetch.php?media=carl15-gupta.pdf, 2015."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694347"},{"key":"e_1_3_2_1_25_1","unstructured":"Eric Hielscher. Locality Optimization For Data Parallel Programs. PhD thesis New York University 2013."},{"key":"e_1_3_2_1_26_1","first-page":"1","volume-title":"2015 USENIX Annual Technical Conference (USENIX ATC 15)","author":"Huang Chien-Chin","year":"2015","unstructured":"Chien-Chin Huang, Qi Chen, Zhaoguo Wang, Russell Power, Jorge Ortiz, Jinyang Li, and Zhen Xiao. Spartan: A distributed array framework with smart tiling. In 2015 USENIX Annual Technical Conference (USENIX ATC 15), pages 1--15, Santa Clara, CA, July 2015. USENIX Association."},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/AHS.2011.5963944"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/MICRO.2014.23"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2593069.2593105"},{"key":"e_1_3_2_1_30_1","volume-title":"MaxCompiler white paper","author":"Technologies Maxeler","year":"2011","unstructured":"Maxeler Technologies. MaxCompiler white paper, 2011."},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2088256.2088262"},{"key":"e_1_3_2_1_32_1","volume-title":"http:\/\/www.scala-lang.org","author":"Odersky M.","year":"2011","unstructured":"M. Odersky. Scala. http:\/\/www.scala-lang.org, 2011."},{"key":"e_1_3_2_1_33_1","first-page":"26","article-title":"Software-defined accelerator for largescale dnn systems","author":"Ouyang Jian","year":"2014","unstructured":"Jian Ouyang, Shiding Lin, Wei Qi, Yong Wang, Bo Yu, and Song Jiang. Sda: Software-defined accelerator for largescale dnn systems. Hot Chips 26, 2014.","journal-title":"Hot Chips"},{"key":"e_1_3_2_1_34_1","volume-title":"Microsoft Research","author":"Ovtcharov Kalin","year":"2015","unstructured":"Kalin Ovtcharov, Olatunji Ruwase, Joo-Young Kim, Jeremy Fowers, Karin Strauss, and Eric S. Chung. Accelerating deep convolutional neural networks using specialized hardware. Technical report, Microsoft Research, February 2015."},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2002.1015491"},{"key":"e_1_3_2_1_36_1","volume-title":"Haskell 98 -- A non-strict, purely functional language. Available from http:\/\/www.haskell.org\/definition\/, feb","author":"Simon Peyton","year":"1999","unstructured":"Simon Peyton Jones [editor], John Hughes [editor], Lennart Augustsson, Dave Barton, Brian Boutel, Warren Burton, Simon Fraser, Joseph Fasel, Kevin Hammond, Ralf Hinze, Paul Hudak, Thomas Johnsson, Mark Jones, John Launchbury, Erik Meijer, John Peterson, Alastair Reid, Colin Runciman, and Philip Wadler. Haskell 98 -- A non-strict, purely functional language. Available from http:\/\/www.haskell.org\/definition\/, feb 1999."},{"key":"e_1_3_2_1_37_1","unstructured":"Louis-No\u00ebl Pouchet. Interative Optimization in the Polyhedral Model. PhD thesis University of Paris-Sud 11 Orsay France January 2010."},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/1926385.1926449"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2435264.2435273"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.5555\/2665671.2665678"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/1344671.1344720"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462176"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2429069.2429128"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1109\/FCCM.2008.46"},{"key":"e_1_3_2_1_45_1","volume-title":"Proceedings of the 8th Annual Military and Aerospace Programmable Logic Devices International Conference","author":"Smith M.C.","year":"2005","unstructured":"M.C. Smith, Jeffrey S Vetter, and Sadaf R. Alam. Scientific computing beyond CPUs: FPGA implementations of common scientific kernels. In Proceedings of the 8th Annual Military and Aerospace Programmable Logic Devices International Conference, 2005."},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/2584665"},{"key":"e_1_3_2_1_47_1","series-title":"ICML","volume-title":"in Proceedings of the 28th International Conference on Machine Learning","author":"Sujeeth Arvind K.","year":"2011","unstructured":"Arvind K. Sujeeth, Hyoukjoong Lee, Kevin J. Brown, Hassan Chafi, Michael Wu, Anand R. Atreya, Kunle Olukotun, Tiark Rompf, and Martin Odersky. Optiml: an implicitly parallel domainspecific language for machine learning. In in Proceedings of the 28th International Conference on Machine Learning, ser. ICML, 2011."},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39038-8_3"},{"key":"e_1_3_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICCAD.2015.7372553"},{"key":"e_1_3_2_1_50_1","unstructured":"The Khronos Group. OpenCL 2.0. http:\/\/www.khronos.org\/opencl\/."},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/2737924.2738003"},{"key":"e_1_3_2_1_52_1","first-page":"10","volume-title":"Proceedings of the 2nd USENIX conference on Hot topics in cloud computing, HotCloud'10","author":"Zaharia Matei","year":"2010","unstructured":"Matei Zaharia, Mosharaf Chowdhury, Michael J. Franklin, Scott Shenker, and Ion Stoica. Spark: cluster computing with working sets. In Proceedings of the 2nd USENIX conference on Hot topics in cloud computing, HotCloud'10, pages 10--10, Berkeley, CA, USA, 2010. USENIX Association."},{"key":"e_1_3_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/FPT.2005.1568549"},{"key":"e_1_3_2_1_54_1","first-page":"99","volume-title":"Autopilot: A platform-based esl synthesis system","author":"Zhang Zhiru","year":"2008","unstructured":"Zhiru Zhang, Yiping Fan, Wei Jiang, Guoling Han, Changqi Yang, and Jason Cong. Autopilot: A platform-based esl synthesis system. In Philippe Coussy and Adam Morawiec, editors, High-Level Synthesis, pages 99--112. Springer Netherlands, 2008."},{"issue":"8","key":"e_1_3_2_1_55_1","first-page":"1057","article-title":"High-performance designs for linear algebra operations on reconfigurable hardware. Computers","volume":"57","author":"Zhuo Ling","year":"2008","unstructured":"Ling Zhuo and Viktor K Prasanna. High-performance designs for linear algebra operations on reconfigurable hardware. Computers, IEEE Transactions on, 57(8):1057--1071, 2008.","journal-title":"IEEE Transactions on"}],"event":{"name":"ASPLOS '16: Architectural Support for Programming Languages and Operating Systems","location":"Atlanta Georgia USA","acronym":"ASPLOS '16","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGOPS ACM Special Interest Group on Operating Systems","SIGARCH ACM Special Interest Group on Computer Architecture","SIGBED ACM Special Interest Group on Embedded Systems"]},"container-title":["Proceedings of the Twenty-First International Conference on Architectural Support for Programming Languages and Operating Systems"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2872362.2872415","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2872362.2872415","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2872362.2872415","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T09:41:48Z","timestamp":1763458908000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2872362.2872415"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,3,25]]},"references-count":55,"alternative-id":["10.1145\/2872362.2872415","10.1145\/2872362"],"URL":"https:\/\/doi.org\/10.1145\/2872362.2872415","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2954679.2872415","asserted-by":"object"},{"id-type":"doi","id":"10.1145\/2980024.2872415","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2016,3,25]]},"assertion":[{"value":"2016-03-25","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}