{"id":"https://openalex.org/W3177229224","doi":"https://doi.org/10.1145/3566052","title":"Occam: Optimal Data Reuse for Convolutional Neural Networks","display_name":"Occam: Optimal Data Reuse for Convolutional Neural Networks","publication_year":2022,"publication_date":"2022-12-16","ids":{"openalex":"https://openalex.org/W3177229224","doi":"https://doi.org/10.1145/3566052","mag":"3177229224"},"language":"en","primary_location":{"id":"doi:10.1145/3566052","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3566052","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3566052","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Architecture and Code Optimization","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3566052","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5001458388","display_name":"Ashish Gondimalla","orcid":"https://orcid.org/0000-0002-3370-3576"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Ashish Gondimalla","raw_affiliation_strings":["Purdue University, West Lafayette, Indiana, USA"],"raw_orcid":"https://orcid.org/0000-0002-3370-3576","affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, Indiana, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101876435","display_name":"Jianqiao Liu","orcid":"https://orcid.org/0000-0003-4022-8897"},"institutions":[{"id":"https://openalex.org/I1291425158","display_name":"Google (United States)","ror":"https://ror.org/00njsd438","country_code":"US","type":"company","lineage":["https://openalex.org/I1291425158","https://openalex.org/I4210128969"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jianqiao Liu","raw_affiliation_strings":["Google, USA, Mountain View, California, USA"],"raw_orcid":"https://orcid.org/0000-0003-4022-8897","affiliations":[{"raw_affiliation_string":"Google, USA, Mountain View, California, USA","institution_ids":["https://openalex.org/I1291425158"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5069139257","display_name":"Mithuna Thottethodi","orcid":"https://orcid.org/0000-0003-4164-4542"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Mithuna Thottethodi","raw_affiliation_strings":["Purdue University, West Lafayette, Indiana, USA"],"raw_orcid":"https://orcid.org/0000-0003-4164-4542","affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, Indiana, USA","institution_ids":["https://openalex.org/I219193219"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5103145581","display_name":"T. N. Vijaykumar","orcid":"https://orcid.org/0000-0001-6624-4372"},"institutions":[{"id":"https://openalex.org/I219193219","display_name":"Purdue University West Lafayette","ror":"https://ror.org/02dqehb95","country_code":"US","type":"education","lineage":["https://openalex.org/I219193219"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"T. N. Vijaykumar","raw_affiliation_strings":["Purdue University, West Lafayette, Indiana, USA"],"raw_orcid":"https://orcid.org/0000-0001-6624-4372","affiliations":[{"raw_affiliation_string":"Purdue University, West Lafayette, Indiana, USA","institution_ids":["https://openalex.org/I219193219"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5001458388"],"corresponding_institution_ids":["https://openalex.org/I219193219"],"apc_list":null,"apc_paid":null,"fwci":0.5102,"has_fulltext":true,"cited_by_count":6,"citation_normalized_percentile":{"value":0.61865614,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":98},"biblio":{"volume":"20","issue":"1","first_page":"1","last_page":"25"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10036","display_name":"Advanced Neural Network Applications","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10036","display_name":"Advanced Neural Network Applications","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1707","display_name":"Computer Vision and Pattern Recognition"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11992","display_name":"CCD and CMOS Imaging Sensors","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10502","display_name":"Advanced Memory and Neural Computing","score":0.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/2208","display_name":"Electrical and Electronic Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8779021501541138},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6097621917724609},{"id":"https://openalex.org/keywords/convolutional-neural-network","display_name":"Convolutional neural network","score":0.5409556031227112},{"id":"https://openalex.org/keywords/occam","display_name":"occam","score":0.524736225605011},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.5087361931800842},{"id":"https://openalex.org/keywords/chip","display_name":"Chip","score":0.5039469599723816},{"id":"https://openalex.org/keywords/pipeline","display_name":"Pipeline (software)","score":0.49973559379577637},{"id":"https://openalex.org/keywords/multithreading","display_name":"Multithreading","score":0.47680041193962097},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.46002355217933655},{"id":"https://openalex.org/keywords/asynchronous-communication","display_name":"Asynchronous communication","score":0.43010854721069336},{"id":"https://openalex.org/keywords/computer-engineering","display_name":"Computer engineering","score":0.40509775280952454},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.35612186789512634},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.17872759699821472},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.15554490685462952},{"id":"https://openalex.org/keywords/computer-network","display_name":"Computer network","score":0.12033155560493469},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.10310021042823792}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8779021501541138},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6097621917724609},{"id":"https://openalex.org/C81363708","wikidata":"https://www.wikidata.org/wiki/Q17084460","display_name":"Convolutional neural network","level":2,"score":0.5409556031227112},{"id":"https://openalex.org/C78469957","wikidata":"https://www.wikidata.org/wiki/Q838062","display_name":"occam","level":2,"score":0.524736225605011},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.5087361931800842},{"id":"https://openalex.org/C165005293","wikidata":"https://www.wikidata.org/wiki/Q1074500","display_name":"Chip","level":2,"score":0.5039469599723816},{"id":"https://openalex.org/C43521106","wikidata":"https://www.wikidata.org/wiki/Q2165493","display_name":"Pipeline (software)","level":2,"score":0.49973559379577637},{"id":"https://openalex.org/C201410400","wikidata":"https://www.wikidata.org/wiki/Q1064412","display_name":"Multithreading","level":3,"score":0.47680041193962097},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.46002355217933655},{"id":"https://openalex.org/C151319957","wikidata":"https://www.wikidata.org/wiki/Q752739","display_name":"Asynchronous communication","level":2,"score":0.43010854721069336},{"id":"https://openalex.org/C113775141","wikidata":"https://www.wikidata.org/wiki/Q428691","display_name":"Computer engineering","level":1,"score":0.40509775280952454},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.35612186789512634},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.17872759699821472},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.15554490685462952},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.12033155560493469},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.10310021042823792},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C76155785","wikidata":"https://www.wikidata.org/wiki/Q418","display_name":"Telecommunications","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3566052","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3566052","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3566052","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Architecture and Code Optimization","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3566052","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3566052","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3566052","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Architecture and Code Optimization","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3177229224.pdf","grobid_xml":"https://content.openalex.org/works/W3177229224.grobid-xml"},"referenced_works_count":73,"referenced_works":["https://openalex.org/W1503700136","https://openalex.org/W1507039213","https://openalex.org/W1598866093","https://openalex.org/W1849277567","https://openalex.org/W1979527452","https://openalex.org/W2000967104","https://openalex.org/W2028067303","https://openalex.org/W2037915256","https://openalex.org/W2048266589","https://openalex.org/W2055312318","https://openalex.org/W2067523571","https://openalex.org/W2084917734","https://openalex.org/W2093043622","https://openalex.org/W2094756095","https://openalex.org/W2098220211","https://openalex.org/W2108598243","https://openalex.org/W2112796928","https://openalex.org/W2117539524","https://openalex.org/W2119609467","https://openalex.org/W2152839228","https://openalex.org/W2158158791","https://openalex.org/W2163605009","https://openalex.org/W2163687928","https://openalex.org/W2194775991","https://openalex.org/W2285660444","https://openalex.org/W2286365479","https://openalex.org/W2289252105","https://openalex.org/W2296218291","https://openalex.org/W2516141709","https://openalex.org/W2528222261","https://openalex.org/W2541839172","https://openalex.org/W2562564656","https://openalex.org/W2565305208","https://openalex.org/W2593390416","https://openalex.org/W2603836393","https://openalex.org/W2604272474","https://openalex.org/W2606722458","https://openalex.org/W2625457103","https://openalex.org/W2626018039","https://openalex.org/W2759398875","https://openalex.org/W2786066748","https://openalex.org/W2807147113","https://openalex.org/W2883929540","https://openalex.org/W2900228909","https://openalex.org/W2901299405","https://openalex.org/W2911148381","https://openalex.org/W2921126577","https://openalex.org/W2940862705","https://openalex.org/W2949650786","https://openalex.org/W2950656546","https://openalex.org/W2952020226","https://openalex.org/W2952294252","https://openalex.org/W2953212265","https://openalex.org/W2954996726","https://openalex.org/W2963358710","https://openalex.org/W2963840672","https://openalex.org/W2963959650","https://openalex.org/W2969388332","https://openalex.org/W2991040477","https://openalex.org/W3024621361","https://openalex.org/W3047599609","https://openalex.org/W3081486497","https://openalex.org/W3115432371","https://openalex.org/W3167739300","https://openalex.org/W3169997198","https://openalex.org/W3174885745","https://openalex.org/W3201891881","https://openalex.org/W4230315356","https://openalex.org/W4251575795","https://openalex.org/W4293775467","https://openalex.org/W4299619069","https://openalex.org/W4300954432","https://openalex.org/W6687483927"],"related_works":["https://openalex.org/W1993191611","https://openalex.org/W3089117407","https://openalex.org/W2030271374","https://openalex.org/W1850053445","https://openalex.org/W2010970156","https://openalex.org/W2023373638","https://openalex.org/W2003336045","https://openalex.org/W1509211761","https://openalex.org/W606126729","https://openalex.org/W2133693067"],"abstract_inverted_index":{"Convolutional":[0],"neural":[1],"networks":[2],"(CNNs)":[3],"are":[4,31,80],"emerging":[5],"as":[6,126,210],"powerful":[7],"tools":[8],"for":[9,117,175,222],"image":[10,27,77],"processing":[11],"in":[12,150,234],"important":[13,20],"commercial":[14],"applications.":[15],"We":[16,101],"focus":[17],"on":[18,194,270,307],"the":[19,24,66,74,86,95,114,123,127,135,141,167,172,187,229,290,310],"problem":[21],"of":[22,26,65],"improving":[23],"latency":[25,41],"recognition.":[28],"While":[29,59,180],"CNNs":[30],"highly":[32],"amenable":[33],"to":[34,38,99,104,130,148,165,248],"prefetching":[35],"and":[36,51,78,85,205,225,278,281,285,304,313],"multithreading":[37],"avoid":[39],"memory":[40,56],"issues,":[42],"CNNs\u2019":[43],"large":[44,147],"data":[45,68,98],"\u2013":[46,53],"each":[47,216],"layer\u2019s":[48],"input,":[49],"filters,":[50],"output":[52,88],"poses":[54],"a":[55,155,162,176,198,202,295],"bandwidth":[57],"problem.":[58],"previous":[60],"work":[61],"captures":[62],"only":[63,221],"some":[64],"enormous":[67],"reuse,":[69],"full":[70,106,118,132],"reuse":[71,107,133],"implies":[72],"that":[73,159,201,244],"initial":[75],"input":[76],"filters":[79,204],"read":[81],"once":[82,91],"from":[83],"off-chip":[84,92,169,219,274],"final":[87],"is":[89,144,182],"written":[90],"without":[93,261],"spilling":[94],"intermediate":[96],"layers\u2019":[97],"off-chip.":[100],"propose":[102,154,239],"Occam":[103,272,301],"capture":[105,131],"via":[108],"four":[109],"contributions.":[110],"First,":[111],"we":[112,121,153,238],"identify":[113,122],"necessary":[115],"conditions":[116],"reuse.":[119],"Second,":[120],"dependence":[124,142,206],"closure":[125,143,207],"sufficient":[128],"condition":[129],"using":[134],"least":[136,168],"on-chip":[137,151,178,209],"memory.":[138],"Third,":[139],"because":[140,228],"often":[145],"too":[146],"fit":[149],"memory,":[152],"dynamic":[156],"programming":[157],"algorithm":[158],"optimally":[160],"partitions":[161,192,231],"given":[163,177],"CNN":[164],"guarantee":[166],"traffic":[170,220],"at":[171],"partition":[173,217],"boundaries":[174],"capacity.":[179],"tiling":[181],"well-known,":[183],"our":[184],"contribution":[185],"determines":[186],"optimal":[188,230,264],"cross-layer":[189],"tiles.":[190],"Occam\u2019s":[191,263],"reside":[193],"different":[195,211],"chips,":[196],"forming":[197],"pipeline":[199],"so":[200],"partition\u2019s":[203],"remain":[208],"images":[212],"pass":[213],"through":[214],"(i.e.,":[215],"incurs":[218],"its":[223],"inputs":[224],"outputs).":[226],"Finally,":[227],"may":[232],"result":[233],"an":[235],"unbalanced":[236],"pipeline,":[237],"staggered":[240],"asynchronous":[241],"pipelines":[242,260],"(STAPs)":[243],"replicate":[245],"bottleneck":[246],"stages":[247],"improve":[249],"throughput":[250],"by":[251,276],"staggering":[252],"mini-batches":[253],"across":[254],"replicas.":[255],"Importantly,":[256],"STAPs":[257],"achieve":[258],"balanced":[259],"changing":[262],"partitioning.":[265],"Our":[266],"simulations":[267],"show":[268],"that,":[269],"average,":[271,308],"cuts":[273],"transfers":[275],"21\u00d7":[277],"achieves":[279],"2.04\u00d7":[280],"1.21\u00d7":[282],"better":[283,287],"performance,":[284],"33%":[286],"energy":[288],"than":[289,309],"base":[291,311],"case,":[292],"respectively.":[293,316],"Using":[294],"field-programmable":[296],"gate":[297],"array":[298],"(FPGA)":[299],"implementation,":[300],"performs":[302],"6.1\u00d7":[303],"1.5\u00d7":[305],"better,":[306],"case":[312],"Layer":[314],"Fusion,":[315]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":2},{"year":2023,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
