{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:28:12Z","timestamp":1750220892792,"version":"3.41.0"},"reference-count":74,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2019,10,25]],"date-time":"2019-10-25T00:00:00Z","timestamp":1571961600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000015","name":"U.S. Department of Energy","doi-asserted-by":"publisher","award":["DE-AC02-05CH11231"],"award-info":[{"award-number":["DE-AC02-05CH11231"]}],"id":[{"id":"10.13039\/100000015","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["J. Emerg. Technol. Comput. Syst."],"published-print":{"date-parts":[[2020,1,31]]},"abstract":"<jats:p>As computer architecture continues to expand beyond software-agnostic microarchitecture to specialized and heterogeneous logic or even radically different emerging computing models (e.g., quantum cores, DNA storage units), detailed cycle-level simulation is no longer presupposed. Exploring designs under such complex interacting relationships (e.g., performance, energy, thermal, frequency) calls for a more integrative but higher-level approach. We propose Charm, a modeling language supporting closed-form high-level architecture modeling. Charm enables mathematical representations of mutually dependent architectural relationships to be specified, composed, checked, evaluated, reused, and shared. The language is interpreted through a combination of automatic symbolic evaluation, scalable graph transformation, and efficient compiler techniques, generating executable DAGs and optimized analysis procedures. Charm also exploits the advancements in satisfiability modulo theory solvers to automatically search the design space to help architects explore multiple design knobs simultaneously (e.g., different CNN tiling configurations). Through two case studies, we demonstrate that Charm allows one to define high-level architecture models in a clean and concise format, maximize reusability and shareability, capture unreasonable assumptions, and significantly ease design space exploration at a high level.<\/jats:p>","DOI":"10.1145\/3360047","type":"journal-article","created":{"date-parts":[[2019,10,25]],"date-time":"2019-10-25T12:36:08Z","timestamp":1572006968000},"page":"1-28","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["Language Support for Navigating Architecture Design in Closed Form"],"prefix":"10.1145","volume":"16","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-3248-3679","authenticated-orcid":false,"given":"Weilong","family":"Cui","sequence":"first","affiliation":[{"name":"University of California, Santa Barbara, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Georgios","family":"Tzimpragos","sequence":"additional","affiliation":[{"name":"University of California, Santa Barbara, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yu","family":"Tao","sequence":"additional","affiliation":[{"name":"Peking University, Beijing, China"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Joseph","family":"Mcmahan","sequence":"additional","affiliation":[{"name":"University of California, Santa Barbara, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Deeksha","family":"Dangwal","sequence":"additional","affiliation":[{"name":"University of California, Santa Barbara, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nestan","family":"Tsiskaridze","sequence":"additional","affiliation":[{"name":"University of California, Santa Barbara, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"George","family":"Michelogiannakis","sequence":"additional","affiliation":[{"name":"Lawrence Berkeley National Laboratory, Berkeley, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Dilip P.","family":"Vasudevan","sequence":"additional","affiliation":[{"name":"Lawrence Berkeley National Laboratory, Berkeley, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Timothy","family":"Sherwood","sequence":"additional","affiliation":[{"name":"University of California, Santa Barbara, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,10,25]]},"reference":[{"volume-title":"Retrieved","year":"2017","author":"Foundation Python Software","key":"e_1_2_1_1_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_2_1","DOI":"10.1109\/ISPASS.2006.1620796"},{"volume-title":"Proceedings of the 20th International Conference on Parallel and Distributed Processing (IPDPS\u201906)","year":"1898","author":"Sadaf","key":"e_1_2_1_3_1"},{"volume-title":"Proceedings of the European Conference on Parallel Processing. 65--77","author":"Sadaf","key":"e_1_2_1_4_1"},{"volume-title":"Proceedings of the 44th Annual International Symposium on Computer Architecture (ISCA\u201917)","author":"Bin Altaf Muhammad Shoaib","key":"e_1_2_1_5_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_6_1","DOI":"10.1007\/978-3-662-53008-5_9"},{"doi-asserted-by":"publisher","key":"e_1_2_1_7_1","DOI":"10.1145\/1465482.1465560"},{"doi-asserted-by":"publisher","key":"e_1_2_1_8_1","DOI":"10.5555\/998675.999448"},{"doi-asserted-by":"publisher","key":"e_1_2_1_9_1","DOI":"10.1145\/1815961.1815967"},{"doi-asserted-by":"publisher","key":"e_1_2_1_10_1","DOI":"10.1109\/VDAT.2010.5496640"},{"doi-asserted-by":"publisher","key":"e_1_2_1_11_1","DOI":"10.1103\/PhysRevA.86.052329"},{"doi-asserted-by":"publisher","key":"e_1_2_1_12_1","DOI":"10.1109\/ISPASS.2012.6189202"},{"volume-title":"Proceedings of 27th International Symposium on Computer Architecture. 83--94","author":"Brooks D.","key":"e_1_2_1_13_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_14_1","DOI":"10.1109\/MICRO.2008.4771779"},{"doi-asserted-by":"publisher","key":"e_1_2_1_15_1","DOI":"10.1109\/MICRO.2010.36"},{"doi-asserted-by":"publisher","key":"e_1_2_1_16_1","DOI":"10.23919\/FPL.2017.8056860"},{"volume-title":"Proceedings of the 2017 27th International Conference on Field Programmable Logic and Applications (FPL\u201917)","year":"2017","author":"Clow J.","key":"e_1_2_1_17_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_18_1","DOI":"10.1007\/978-3-319-11179-7_36"},{"volume-title":"Binaryconnect: Training deep neural networks with binary weights during propagations. In Advances in Neural Information Processing Systems. 3123--3131.","year":"2015","author":"Courbariaux Matthieu","key":"e_1_2_1_19_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_20_1","DOI":"10.1109\/ISCA.2018.00023"},{"doi-asserted-by":"publisher","key":"e_1_2_1_21_1","DOI":"10.1145\/3123939.3124541"},{"doi-asserted-by":"publisher","key":"e_1_2_1_22_1","DOI":"10.5555\/1792734.1792766"},{"volume-title":"Proceedings of the 9th European Simulation Symposium (ESS\u201907)","year":"1997","author":"Elmqvist Hilding","key":"e_1_2_1_23_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_24_1","DOI":"10.1145\/2000064.2000108"},{"doi-asserted-by":"publisher","key":"e_1_2_1_25_1","DOI":"10.1145\/1815961.1816011"},{"doi-asserted-by":"publisher","key":"e_1_2_1_26_1","DOI":"10.1145\/1534909.1534910"},{"doi-asserted-by":"publisher","key":"e_1_2_1_27_1","DOI":"10.1109\/ISPASS.2011.5762738"},{"doi-asserted-by":"publisher","key":"e_1_2_1_28_1","DOI":"10.1109\/L-CA.2009.4"},{"volume-title":"Chult","year":"2008","author":"Hagberg Aric","key":"e_1_2_1_29_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_30_1","DOI":"10.1109\/5.97300"},{"doi-asserted-by":"publisher","key":"e_1_2_1_31_1","DOI":"10.1145\/1542476.1542480"},{"doi-asserted-by":"publisher","key":"e_1_2_1_32_1","DOI":"10.5555\/789083.1022903"},{"doi-asserted-by":"publisher","key":"e_1_2_1_33_1","DOI":"10.1109\/MC.2008.209"},{"doi-asserted-by":"publisher","key":"e_1_2_1_34_1","DOI":"10.1145\/1815961.1815998"},{"doi-asserted-by":"publisher","key":"e_1_2_1_35_1","DOI":"10.1137\/0202019"},{"doi-asserted-by":"publisher","key":"e_1_2_1_36_1","DOI":"10.1145\/1168857.1168882"},{"doi-asserted-by":"publisher","key":"e_1_2_1_37_1","DOI":"10.1109\/DATE.2009.5090700"},{"doi-asserted-by":"publisher","key":"e_1_2_1_38_1","DOI":"10.1007\/978-3-319-96983-1_25"},{"doi-asserted-by":"publisher","key":"e_1_2_1_39_1","DOI":"10.1145\/3126908.3126965"},{"volume-title":"Proceedings of the 25th International Conference on Neural Information Processing Systems\u2014Volume 1 (NIPS\u201912)","author":"Krizhevsky Alex","key":"e_1_2_1_40_1"},{"volume-title":"Proceedings of ISCA-33: Workshop on Modeling, Benchmarking, and Simulation.","author":"Lee B.","key":"e_1_2_1_41_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_42_1","DOI":"10.1109\/HPCA.2007.346211"},{"volume-title":"Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP\u201907)","author":"Lee Benjamin C.","key":"e_1_2_1_43_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_44_1","DOI":"10.1109\/MICRO.2008.4771797"},{"doi-asserted-by":"publisher","key":"e_1_2_1_45_1","DOI":"10.1109\/5.97301"},{"doi-asserted-by":"publisher","key":"e_1_2_1_46_1","DOI":"10.1109\/MICRO.2006.37"},{"doi-asserted-by":"publisher","key":"e_1_2_1_47_1","DOI":"10.1109\/TPDS.2010.204"},{"doi-asserted-by":"publisher","key":"e_1_2_1_48_1","DOI":"10.1145\/1069774.1069782"},{"doi-asserted-by":"publisher","key":"e_1_2_1_49_1","DOI":"10.1145\/1273463.1273473"},{"volume-title":"Proceedings of the Joint Conference on Languages, Compilers, and Tools for Embedded Systems: Software and Compilers for Embedded Systems (LCTES\/SCOPES\u201902)","author":"Mohanty S.","key":"e_1_2_1_50_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_51_1","DOI":"10.1145\/2669364"},{"doi-asserted-by":"publisher","key":"e_1_2_1_52_1","DOI":"10.1145\/2746235"},{"doi-asserted-by":"publisher","key":"e_1_2_1_53_1","DOI":"10.1016\/j.dss.2008.06.001"},{"doi-asserted-by":"publisher","key":"e_1_2_1_54_1","DOI":"10.1109\/JPROC.2016.2518864"},{"doi-asserted-by":"publisher","key":"e_1_2_1_55_1","DOI":"10.1145\/1878961.1878986"},{"doi-asserted-by":"publisher","key":"e_1_2_1_56_1","DOI":"10.1109\/TSM.2007.913186"},{"doi-asserted-by":"publisher","key":"e_1_2_1_57_1","DOI":"10.1145\/2364527.2364542"},{"volume-title":"Proceedings of the 2013 IEEE 27th International Symposium on Parallel and Distributed Processing. 673--686","year":"2013","author":"Song S.","key":"e_1_2_1_58_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_59_1","DOI":"10.1109\/HPCA.2016.7446097"},{"volume-title":"Proceedings of the International Conference on High Performance Computing, Networking, Storage, and Analysis (SC\u201912)","author":"Kyle","key":"e_1_2_1_60_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_61_1","DOI":"10.1016\/j.jpdc.2009.05.002"},{"unstructured":"SymPy Development Team. 2016. SymPy: Python Library for Symbolic Mathematics. Available at http:\/\/www.sympy.org.  SymPy Development Team. 2016. SymPy: Python Library for Symbolic Mathematics. Available at http:\/\/www.sympy.org.","key":"e_1_2_1_62_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_63_1","DOI":"10.1145\/2970276.2970298"},{"volume-title":"Proceedings of the 28th ACM International Conference on Supercomputing (ICS\u201914)","author":"Nathan","key":"e_1_2_1_64_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_65_1","DOI":"10.1109\/CICC.1989.56684"},{"doi-asserted-by":"publisher","key":"e_1_2_1_66_1","DOI":"10.1145\/3297858.3304036"},{"doi-asserted-by":"publisher","key":"e_1_2_1_67_1","DOI":"10.1177\/1094342014568690"},{"doi-asserted-by":"publisher","key":"e_1_2_1_68_1","DOI":"10.1145\/1151690.1151691"},{"doi-asserted-by":"publisher","key":"e_1_2_1_69_1","DOI":"10.1145\/1498765.1498785"},{"doi-asserted-by":"publisher","key":"e_1_2_1_70_1","DOI":"10.1109\/MC.2008.494"},{"volume-title":"Retrieved","year":"2018","key":"e_1_2_1_71_1"},{"doi-asserted-by":"publisher","key":"e_1_2_1_72_1","DOI":"10.1016\/j.parco.2013.11.001"},{"doi-asserted-by":"publisher","key":"e_1_2_1_73_1","DOI":"10.1145\/2684746.2689060"},{"doi-asserted-by":"publisher","key":"e_1_2_1_74_1","DOI":"10.1145\/2684746.2689060"}],"container-title":["ACM Journal on Emerging Technologies in Computing Systems"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3360047","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3360047","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3360047","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:44:32Z","timestamp":1750203872000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3360047"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,10,25]]},"references-count":74,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2020,1,31]]}},"alternative-id":["10.1145\/3360047"],"URL":"https:\/\/doi.org\/10.1145\/3360047","relation":{},"ISSN":["1550-4832","1550-4840"],"issn-type":[{"type":"print","value":"1550-4832"},{"type":"electronic","value":"1550-4840"}],"subject":[],"published":{"date-parts":[[2019,10,25]]},"assertion":[{"value":"2019-01-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-09-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-10-25","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}