{"id":"https://openalex.org/W2945676406","doi":"https://doi.org/10.1145/3316781.3317842","title":"Improving Scalability of Exact Modulo Scheduling with Specialized Conflict-Driven Learning","display_name":"Improving Scalability of Exact Modulo Scheduling with Specialized Conflict-Driven Learning","publication_year":2019,"publication_date":"2019-05-23","ids":{"openalex":"https://openalex.org/W2945676406","doi":"https://doi.org/10.1145/3316781.3317842","mag":"2945676406"},"language":"en","primary_location":{"id":"doi:10.1145/3316781.3317842","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3316781.3317842","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3316781.3317842","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 56th Annual Design Automation Conference 2019","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3316781.3317842","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5030894829","display_name":"Steve Dai","orcid":"https://orcid.org/0000-0002-5045-1964"},"institutions":[{"id":"https://openalex.org/I205783295","display_name":"Cornell University","ror":"https://ror.org/05bnh6r87","country_code":"US","type":"education","lineage":["https://openalex.org/I205783295"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Steve Dai","raw_affiliation_strings":["School of Electrical and Computer Engineering, Cornell University, Ithaca, NY and NVIDIA, Santa Clara, CA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Electrical and Computer Engineering, Cornell University, Ithaca, NY and NVIDIA, Santa Clara, CA","institution_ids":["https://openalex.org/I205783295"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5037210004","display_name":"Zhiru Zhang","orcid":"https://orcid.org/0000-0002-0778-0308"},"institutions":[{"id":"https://openalex.org/I4210127875","display_name":"Nvidia (United States)","ror":"https://ror.org/03jdj4y14","country_code":"US","type":"company","lineage":["https://openalex.org/I4210127875"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Zhiru Zhang","raw_affiliation_strings":["NVIDIA, Santa Clara, CA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"NVIDIA, Santa Clara, CA","institution_ids":["https://openalex.org/I4210127875"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":true,"cited_by_count":12,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"1","last_page":"6"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9995999932289124,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10829","display_name":"Interconnection Networks and Systems","score":0.9991000294685364,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"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.840164065361023},{"id":"https://openalex.org/keywords/scheduling","display_name":"Scheduling (production processes)","score":0.6123621463775635},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.5916022658348083},{"id":"https://openalex.org/keywords/scalability","display_name":"Scalability","score":0.5866958498954773},{"id":"https://openalex.org/keywords/integer-programming","display_name":"Integer programming","score":0.5579901933670044},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.5515388250350952},{"id":"https://openalex.org/keywords/heuristics","display_name":"Heuristics","score":0.5262198448181152},{"id":"https://openalex.org/keywords/software-pipelining","display_name":"Software pipelining","score":0.48836585879325867},{"id":"https://openalex.org/keywords/distributed-computing","display_name":"Distributed computing","score":0.44161611795425415},{"id":"https://openalex.org/keywords/modulo","display_name":"Modulo","score":0.41903144121170044},{"id":"https://openalex.org/keywords/boolean-satisfiability-problem","display_name":"Boolean satisfiability problem","score":0.41189542412757874},{"id":"https://openalex.org/keywords/mathematical-optimization","display_name":"Mathematical optimization","score":0.34329313039779663},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.29751700162887573},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.25459110736846924},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.09532934427261353},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.09214231371879578}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.840164065361023},{"id":"https://openalex.org/C206729178","wikidata":"https://www.wikidata.org/wiki/Q2271896","display_name":"Scheduling (production processes)","level":2,"score":0.6123621463775635},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.5916022658348083},{"id":"https://openalex.org/C48044578","wikidata":"https://www.wikidata.org/wiki/Q727490","display_name":"Scalability","level":2,"score":0.5866958498954773},{"id":"https://openalex.org/C56086750","wikidata":"https://www.wikidata.org/wiki/Q6042592","display_name":"Integer programming","level":2,"score":0.5579901933670044},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.5515388250350952},{"id":"https://openalex.org/C127705205","wikidata":"https://www.wikidata.org/wiki/Q5748245","display_name":"Heuristics","level":2,"score":0.5262198448181152},{"id":"https://openalex.org/C188854837","wikidata":"https://www.wikidata.org/wiki/Q268469","display_name":"Software pipelining","level":3,"score":0.48836585879325867},{"id":"https://openalex.org/C120314980","wikidata":"https://www.wikidata.org/wiki/Q180634","display_name":"Distributed computing","level":1,"score":0.44161611795425415},{"id":"https://openalex.org/C54732982","wikidata":"https://www.wikidata.org/wiki/Q1415345","display_name":"Modulo","level":2,"score":0.41903144121170044},{"id":"https://openalex.org/C6943359","wikidata":"https://www.wikidata.org/wiki/Q875276","display_name":"Boolean satisfiability problem","level":2,"score":0.41189542412757874},{"id":"https://openalex.org/C126255220","wikidata":"https://www.wikidata.org/wiki/Q141495","display_name":"Mathematical optimization","level":1,"score":0.34329313039779663},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.29751700162887573},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.25459110736846924},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.09532934427261353},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.09214231371879578},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.0},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.0},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3316781.3317842","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3316781.3317842","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3316781.3317842","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 56th Annual Design Automation Conference 2019","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3316781.3317842","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3316781.3317842","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3316781.3317842","source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 56th Annual Design Automation Conference 2019","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G2543051913","display_name":null,"funder_award_id":"1453378, 1618275","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6277332594","display_name":"STARSS: Small: Automatic Synthesis of Verifiably Secure Hardware Accelerators","funder_award_id":"1618275","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G7766285678","display_name":"CAREER: Synthesizing Highly Efficient Hardware Accelerators for Irregular Programs: A Synergistic Approach","funder_award_id":"1453378","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320306087","display_name":"Semiconductor Research Corporation","ror":"https://ror.org/047z4n946"},{"id":"https://openalex.org/F4320314786","display_name":"Xilinx","ror":"https://ror.org/01rb7bk56"},{"id":"https://openalex.org/F4320323384","display_name":"Technische Universit\u00e4t Darmstadt","ror":"https://ror.org/05n911h24"},{"id":"https://openalex.org/F4320327735","display_name":"Universit\u00e4t Kassel","ror":null}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2945676406.pdf","grobid_xml":"https://content.openalex.org/works/W2945676406.grobid-xml"},"referenced_works_count":15,"referenced_works":["https://openalex.org/W37253703","https://openalex.org/W1587799811","https://openalex.org/W1992908040","https://openalex.org/W1996464317","https://openalex.org/W2005055779","https://openalex.org/W2012114780","https://openalex.org/W2018055497","https://openalex.org/W2071189607","https://openalex.org/W2118382442","https://openalex.org/W2147088458","https://openalex.org/W2156499539","https://openalex.org/W2166029537","https://openalex.org/W2530146034","https://openalex.org/W2788447492","https://openalex.org/W4210896998"],"related_works":["https://openalex.org/W2058965144","https://openalex.org/W2164382479","https://openalex.org/W2146343568","https://openalex.org/W98480971","https://openalex.org/W2150291671","https://openalex.org/W2013643406","https://openalex.org/W2027972911","https://openalex.org/W2157978810","https://openalex.org/W2530146034","https://openalex.org/W4281665405"],"abstract_inverted_index":{"Loop":[0],"pipelining":[1,84],"is":[2],"an":[3],"important":[4],"optimization":[5],"in":[6,94],"high-level":[7],"synthesis":[8],"to":[9,62,79,96],"enable":[10],"high-throughput":[11],"pipelined":[12],"execution":[13],"of":[14,53,73],"loop":[15],"iterations.":[16],"However,":[17],"current":[18],"pipeline":[19,66],"scheduling":[20,48,67],"approach":[21,90],"relies":[22],"on":[23,28,36,51],"fundamentally":[24],"inexact":[25],"heuristics":[26],"based":[27,50,100],"ad":[29],"hoc":[30],"priority":[31],"functions":[32],"and":[33,58,76],"lacks":[34],"guarantee":[35],"achieving":[37],"the":[38],"best":[39],"throughput.":[40],"To":[41],"address":[42],"this":[43],"shortcoming,":[44],"we":[45],"propose":[46],"a":[47],"algorithm":[49],"system":[52],"integer":[54,97],"difference":[55],"constraints":[56],"(SDC)":[57],"Boolean":[59],"satisfiability":[60],"(SAT)":[61],"exactly":[63],"handle":[64],"various":[65],"constraints.":[68],"Our":[69],"techniques":[70],"take":[71],"advantage":[72],"conflict-driven":[74],"learning":[75],"problem-specific":[77],"specialization":[78],"optimally":[80],"yet":[81],"efficiently":[82],"derive":[83],"solutions.":[85],"Experiments":[86],"demonstrate":[87],"that":[88],"our":[89],"achieves":[91],"notable":[92],"speedup":[93],"comparison":[95],"linear":[98],"programming":[99],"techniques.":[101]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":3},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":1}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
