{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,10]],"date-time":"2026-04-10T19:43:29Z","timestamp":1775850209037,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":45,"publisher":"ACM","license":[{"start":{"date-parts":[[2018,6,11]],"date-time":"2018-06-11T00:00:00Z","timestamp":1528675200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["SHF-1563078"],"award-info":[{"award-number":["SHF-1563078"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000185","name":"Defense Advanced Research Projects Agency","doi-asserted-by":"publisher","award":["FA8750-14-2-0240"],"award-info":[{"award-number":["FA8750-14-2-0240"]}],"id":[{"id":"10.13039\/100000185","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2018,6,11]]},"DOI":"10.1145\/3192366.3192379","type":"proceedings-article","created":{"date-parts":[[2018,6,12]],"date-time":"2018-06-12T08:16:01Z","timestamp":1528791361000},"page":"296-311","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":129,"title":["Spatial: a language and compiler for application accelerators"],"prefix":"10.1145","author":[{"given":"David","family":"Koeplinger","sequence":"first","affiliation":[{"name":"Stanford University, USA"}]},{"given":"Matthew","family":"Feldman","sequence":"additional","affiliation":[{"name":"Stanford University, USA"}]},{"given":"Raghu","family":"Prabhakar","sequence":"additional","affiliation":[{"name":"Stanford University, USA"}]},{"given":"Yaqi","family":"Zhang","sequence":"additional","affiliation":[{"name":"Stanford University, USA"}]},{"given":"Stefan","family":"Hadjis","sequence":"additional","affiliation":[{"name":"Stanford University, USA"}]},{"given":"Ruben","family":"Fiszel","sequence":"additional","affiliation":[{"name":"EPFL, Switzerland"}]},{"given":"Tian","family":"Zhao","sequence":"additional","affiliation":[{"name":"Stanford University, USA"}]},{"given":"Luigi","family":"Nardi","sequence":"additional","affiliation":[{"name":"Stanford University, USA"}]},{"given":"Ardavan","family":"Pedram","sequence":"additional","affiliation":[{"name":"Stanford University, USA"}]},{"given":"Christos","family":"Kozyrakis","sequence":"additional","affiliation":[{"name":"Stanford University, USA"}]},{"given":"Kunle","family":"Olukotun","sequence":"additional","affiliation":[{"name":"Stanford University, USA"}]}],"member":"320","published-online":{"date-parts":[[2018,6,11]]},"reference":[{"key":"e_1_3_2_2_1_1","unstructured":"2015. MyHDL. http:\/\/www.myhdl.org\/.  2015. MyHDL. http:\/\/www.myhdl.org\/."},{"key":"e_1_3_2_2_2_1","volume-title":"Vivado design suite","year":"2015","unstructured":"2015. Vivado design suite 2015 .1 user guide. 2015. Vivado design suite 2015.1 user guide."},{"key":"e_1_3_2_2_3_1","unstructured":"2016. Vivado High-Level Synthesis. http:\/\/www.xilinx.com\/products\/design-tools\/vivado\/integration\/esl-design.html.  2016. Vivado High-Level Synthesis. http:\/\/www.xilinx.com\/products\/design-tools\/vivado\/integration\/esl-design.html."},{"key":"e_1_3_2_2_4_1","unstructured":"2017. EC2 F1 Instances with FPGAs Now Generally Available. aws.amazon.com\/blogs\/aws\/ec2-f1-instances-with-fpgas-now-generally-available\/.  2017. EC2 F1 Instances with FPGAs Now Generally Available. aws.amazon.com\/blogs\/aws\/ec2-f1-instances-with-fpgas-now-generally-available\/."},{"key":"e_1_3_2_2_5_1","unstructured":"2017. Intel FPGA SDK for OpenCL. https:\/\/www.altera.com\/products\/design-software\/embedded-software-developers\/opencl\/overview.html.  2017. Intel FPGA SDK for OpenCL. https:\/\/www.altera.com\/products\/design-software\/embedded-software-developers\/opencl\/overview.html."},{"key":"e_1_3_2_2_6_1","unstructured":"2017. Neon 2.0: Optimized for Intel Architectures. https:\/\/www.intelnervana.com\/neon-2-0-optimized-for-intel-architectures\/.  2017. Neon 2.0: Optimized for Intel Architectures. https:\/\/www.intelnervana.com\/neon-2-0-optimized-for-intel-architectures\/."},{"key":"e_1_3_2_2_7_1","unstructured":"2017. Wave Computing Launches Machine Learning Appliance. https:\/\/www.top500.org\/news\/wave-computing-launches-machine-learning-appliance\/.  2017. Wave Computing Launches Machine Learning Appliance. https:\/\/www.top500.org\/news\/wave-computing-launches-machine-learning-appliance\/."},{"key":"e_1_3_2_2_8_1","volume-title":"Proceedings of the First ACM and IEEE International Conference on Formal Methods and Models for Co-Design (MEMOCODE '03)","year":"2003","unstructured":"Arvind. 2003 . 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) . IEEE Computer Society, Washington, DC, USA, 249-. http:\/\/dl.acm.org\/citation.cfm?id=823453.823860 Arvind. 2003. 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). IEEE Computer Society, Washington, DC, USA, 249-. http:\/\/dl.acm.org\/citation.cfm?id=823453.823860"},{"key":"e_1_3_2_2_9_1","first-page":"1212","volume-title":"Design Automation Conference (DAC)","author":"Bachrach J.","year":"2012","unstructured":"J. Bachrach , Huy Vo , B. Richards , Yunsup Lee , A. Waterman , R. Avizienis , J. Wawrzynek , and K. Asanovic . 2012. Chisel: Constructing hardware in a Scala embedded language . In Design Automation Conference (DAC) , 2012 49th ACM\/EDAC\/IEEE. 1212 - 1221 . J. Bachrach, Huy Vo, B. Richards, Yunsup Lee, A. Waterman, R. Avizienis, J. Wawrzynek, and K. Asanovic. 2012. Chisel: Constructing hardware in a Scala embedded language. In Design Automation Conference (DAC), 2012 49th ACM\/EDAC\/IEEE. 1212-1221."},{"key":"e_1_3_2_2_10_1","volume-title":"Article 40 (Feb.","author":"Bacon David","year":"2013","unstructured":"David Bacon , Rodric Rabbah , and Sunil Shukla . 2013. FPGA Programming for the Masses. Queue 11, 2 , Article 40 (Feb. 2013 ), 13 pages. David Bacon, Rodric Rabbah, and Sunil Shukla. 2013. FPGA Programming for the Masses. Queue 11, 2, Article 40 (Feb. 2013), 13 pages."},{"key":"e_1_3_2_2_11_1","volume-title":"Murali Emani, John Mawer, Christos Kotselidis, Andy Nisbet, Mikel Lujan, Bj\u00f6rn Franke, Paul H.J. Kelly, and Michael O'Boyle.","author":"Bodin Bruno","year":"2016","unstructured":"Bruno Bodin , Luigi Nardi , M. Zeeshan Zia , Harry Wagstaff , Govind Sreekar Shenoy , Murali Emani, John Mawer, Christos Kotselidis, Andy Nisbet, Mikel Lujan, Bj\u00f6rn Franke, Paul H.J. Kelly, and Michael O'Boyle. 2016 . Integrating Algorithmic Parameters into Benchmarking and Design Space Exploration in 3D Scene Understanding. In PACT. Bruno Bodin, Luigi Nardi, M. Zeeshan Zia, Harry Wagstaff, Govind Sreekar Shenoy, Murali Emani, John Mawer, Christos Kotselidis, Andy Nisbet, Mikel Lujan, Bj\u00f6rn Franke, Paul H.J. Kelly, and Michael O'Boyle. 2016. Integrating Algorithmic Parameters into Benchmarking and Design Space Exploration in 3D Scene Understanding. In PACT."},{"key":"e_1_3_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1950413.1950423"},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1147\/JRD.2010.2059721"},{"key":"e_1_3_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2967938.2967969"},{"key":"e_1_3_2_2_15_1","volume-title":"Coarse-Grained Reconfigurable Array Architectures","author":"Sutter Bjorn De","unstructured":"Bjorn De Sutter , Praveen Raghavan , and Andy Lambrechts . 2013. Coarse-Grained Reconfigurable Array Architectures . Springer New York , New York, NY , 553-592. Bjorn De Sutter, Praveen Raghavan, and Andy Lambrechts. 2013. Coarse-Grained Reconfigurable Array Architectures. Springer New York, New York, NY, 553-592."},{"key":"e_1_3_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1188455.1188543"},{"key":"e_1_3_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1109\/MM.2012.51"},{"key":"e_1_3_2_2_18_1","unstructured":"Prabhat K. Gupta. 2015. Xeon+FPGA Platform for the Data Center. http:\/\/www.ece.cmu.edu\/~calcm\/carl\/lib\/exe\/fetch.php?media=carl15-gupta.pdf.  Prabhat K. Gupta. 2015. Xeon+FPGA Platform for the Data Center. http:\/\/www.ece.cmu.edu\/~calcm\/carl\/lib\/exe\/fetch.php?media=carl15-gupta.pdf."},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2601097.2601174"},{"key":"e_1_3_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2897824.2925892"},{"key":"e_1_3_2_2_21_1","unstructured":"Intel. 2015. Advanced NAND Flash Memory Single-Chip Storage Solution. www.altera.com\/b\/nand-flash-memory-controller.html?_ga=2.108749825.2041564619.1502344247-21903935.1501673108.  Intel. 2015. Advanced NAND Flash Memory Single-Chip Storage Solution. www.altera.com\/b\/nand-flash-memory-controller.html?_ga=2.108749825.2041564619.1502344247-21903935.1501673108."},{"key":"e_1_3_2_2_22_1","volume-title":"Automatic Generation of Efficient Accelerators for Reconfigurable Hardware. In International Symposium in Computer Architecture (ISCA).","author":"Koeplinger David","year":"2016","unstructured":"David Koeplinger , Raghu Prabhakar , Yaqi Zhang , Christina Delimitrou , Christos Kozyrakis , and Kunle Olukotun . 2016 . Automatic Generation of Efficient Accelerators for Reconfigurable Hardware. In International Symposium in Computer Architecture (ISCA). David Koeplinger, Raghu Prabhakar, Yaqi Zhang, Christina Delimitrou, Christos Kozyrakis, and Kunle Olukotun. 2016. Automatic Generation of Efficient Accelerators for Reconfigurable Hardware. In International Symposium in Computer Architecture (ISCA)."},{"key":"e_1_3_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3020078.3021762"},{"key":"e_1_3_2_2_24_1","unstructured":"Maxeler Technologies. 2011. MaxCompiler white paper.  Maxeler Technologies. 2011. MaxCompiler white paper."},{"key":"e_1_3_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/TPDS.2015.2394802"},{"key":"e_1_3_2_2_26_1","doi-asserted-by":"publisher","DOI":"10.1109\/TCAD.2015.2513673"},{"key":"e_1_3_2_2_27_1","volume-title":"Kelly","author":"Nardi Luigi","year":"2017","unstructured":"Luigi Nardi , Bruno Bodin , Sajad Saeedi , Emanuele Vespa , Andrew J. Davison , and Paul H. J . Kelly . 2017 . Algorithmic Performance-Accuracy Trade-off in 3D Vision Applications Using HyperMapper. In iWAPTIPDPS. http:\/\/arxiv.org\/abs\/1702.00505 Luigi Nardi, Bruno Bodin, Sajad Saeedi, Emanuele Vespa, Andrew J. Davison, and Paul H. J. Kelly. 2017. Algorithmic Performance-Accuracy Trade-off in 3D Vision Applications Using HyperMapper. In iWAPTIPDPS. http:\/\/arxiv.org\/abs\/1702.00505"},{"key":"e_1_3_2_2_28_1","volume-title":"Andrew J Davison, Mikel Luj\u00e1n, Michael FP O'Boyle, Graham Riley, et al.","author":"Nardi Luigi","year":"2015","unstructured":"Luigi Nardi , Bruno Bodin , M Zeeshan Zia , John Mawer , Andy Nisbet , Paul HJ Kelly , Andrew J Davison, Mikel Luj\u00e1n, Michael FP O'Boyle, Graham Riley, et al. 2015 . Introducing SLAMBench, a Performance and Accuracy Benchmarking Methodology for SLAM. In ICRA. Luigi Nardi, Bruno Bodin, M Zeeshan Zia, John Mawer, Andy Nisbet, Paul HJ Kelly, Andrew J Davison, Mikel Luj\u00e1n, Michael FP O'Boyle, Graham Riley, et al. 2015. Introducing SLAMBench, a Performance and Accuracy Benchmarking Methodology for SLAM. In ICRA."},{"key":"e_1_3_2_2_29_1","series-title":"Hot Chips 26","volume-title":"SDA: 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 . 2014 . SDA: Software-Defined Accelerator for LargeScale DNN Systems ( Hot Chips 26 ). Jian Ouyang, Shiding Lin, Wei Qi, Yong Wang, Bo Yu, and Song Jiang. 2014. SDA: Software-Defined Accelerator for LargeScale DNN Systems (Hot Chips 26)."},{"key":"e_1_3_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2485922.2485935"},{"key":"e_1_3_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3079856.3080254"},{"key":"e_1_3_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/3079856.3080256"},{"key":"e_1_3_2_2_33_1","volume-title":"Programming Heterogeneous Systems from an Image Processing DSL. CoRR abs\/1610.09405","author":"Pu Jing","year":"2016","unstructured":"Jing Pu , Steven Bell , Xuan Yang , Jeff Setter , Stephen Richardson , Jonathan Ragan-Kelley , and Mark Horowitz . 2016. Programming Heterogeneous Systems from an Image Processing DSL. CoRR abs\/1610.09405 ( 2016 ). arXiv:1610.09405 http:\/\/arxiv.org\/abs\/1610.09405 Jing Pu, Steven Bell, Xuan Yang, Jeff Setter, Stephen Richardson, Jonathan Ragan-Kelley, and Mark Horowitz. 2016. Programming Heterogeneous Systems from an Image Processing DSL. CoRR abs\/1610.09405 (2016). arXiv:1610.09405 http:\/\/arxiv.org\/abs\/1610.09405"},{"key":"e_1_3_2_2_34_1","doi-asserted-by":"publisher","DOI":"10.5555\/2665671.2665678"},{"key":"e_1_3_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462176"},{"key":"e_1_3_2_2_36_1","doi-asserted-by":"crossref","unstructured":"Sajad Saeedi Luigi Nardi Edward Johns Bruno Bodin Paul Kelly and Andrew Davison. 2017. Application-oriented Design Space Exploration for SLAM Algorithms. In ICRA.  Sajad Saeedi Luigi Nardi Edward Johns Bruno Bodin Paul Kelly and Andrew Davison. 2017. Application-oriented Design Space Exploration for SLAM Algorithms. In ICRA .","DOI":"10.1109\/ICRA.2017.7989673"},{"key":"e_1_3_2_2_37_1","volume-title":"Chip multiprocessor generator: automatic generation of custom and heterogeneous compute platforms","author":"Shacham Ofer","unstructured":"Ofer Shacham . 2011. Chip multiprocessor generator: automatic generation of custom and heterogeneous compute platforms . Stanford University . Ofer Shacham. 2011. Chip multiprocessor generator: automatic generation of custom and heterogeneous compute platforms. Stanford University."},{"key":"e_1_3_2_2_38_1","doi-asserted-by":"publisher","DOI":"10.5555\/2665671.2665689"},{"key":"e_1_3_2_2_39_1","volume-title":"Delite: A Compiler Architecture for Performance-Oriented Embedded Domain-Specific Languages. In TECS'14: ACM Transactions on Embedded Computing Systems.","author":"Sujeeth Arvind K.","year":"2014","unstructured":"Arvind K. Sujeeth , Kevin J. Brown , HyoukJoong Lee , Tiark Rompf , Hassan Chafi , Martin Odersky , and Kunle Olukotun . 2014 . Delite: A Compiler Architecture for Performance-Oriented Embedded Domain-Specific Languages. In TECS'14: ACM Transactions on Embedded Computing Systems. Arvind K. Sujeeth, Kevin J. Brown, HyoukJoong Lee, Tiark Rompf, Hassan Chafi, Martin Odersky, and Kunle Olukotun. 2014. Delite: A Compiler Architecture for Performance-Oriented Embedded Domain-Specific Languages. In TECS'14: ACM Transactions on Embedded Computing Systems."},{"key":"e_1_3_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/3079856.3080244"},{"key":"e_1_3_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2554688.2554780"},{"key":"e_1_3_2_2_42_1","unstructured":"Xilinx. 2014. The Xilinx SDAccel Development Environment. https:\/\/www.xilinx.com\/publications\/prod_mktg\/sdx\/sdaccel-backgrounder.pdf.  Xilinx. 2014. The Xilinx SDAccel Development Environment. https:\/\/www.xilinx.com\/publications\/prod_mktg\/sdx\/sdaccel-backgrounder.pdf."},{"key":"e_1_3_2_2_43_1","unstructured":"Xilinx. 2017. HLS Pragmas. https:\/\/www.xilinx.com\/html_docs\/xilinx2017_2\/sdaccel_doc\/topics\/pragmas\/concept-Intro_to_HLS_pragmas.html.  Xilinx. 2017. HLS Pragmas. https:\/\/www.xilinx.com\/html_docs\/xilinx2017_2\/sdaccel_doc\/topics\/pragmas\/concept-Intro_to_HLS_pragmas.html."},{"key":"e_1_3_2_2_44_1","unstructured":"Xilinx. 2017. SDAccel DATAFLOW pragma. https:\/\/www.xilinx.com\/html_docs\/xilinx2017_2\/sdaccel_doc\/topics\/pragmas\/ref-pragma_HLS_dataflow.html.  Xilinx. 2017. SDAccel DATAFLOW pragma. https:\/\/www.xilinx.com\/html_docs\/xilinx2017_2\/sdaccel_doc\/topics\/pragmas\/ref-pragma_HLS_dataflow.html."},{"key":"e_1_3_2_2_45_1","unstructured":"Xilinx. 2017. SDAccel Example Repository. https:\/\/github.com\/Xilinx\/SDAccel_Examples.  Xilinx. 2017. SDAccel Example Repository. https:\/\/github.com\/Xilinx\/SDAccel_Examples."}],"event":{"name":"PLDI '18: ACM SIGPLAN Conference on Programming Language Design and Implementation","location":"Philadelphia PA USA","acronym":"PLDI '18","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 39th ACM SIGPLAN Conference on Programming Language Design and Implementation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3192366.3192379","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3192366.3192379","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3192366.3192379","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:07:53Z","timestamp":1750198073000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3192366.3192379"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018,6,11]]},"references-count":45,"alternative-id":["10.1145\/3192366.3192379","10.1145\/3192366"],"URL":"https:\/\/doi.org\/10.1145\/3192366.3192379","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/3296979.3192379","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2018,6,11]]},"assertion":[{"value":"2018-06-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}