{"id":"https://openalex.org/W4414437046","doi":"https://doi.org/10.1145/3769118","title":"Optimal Split Point Placement for Predictable GPU Wavefront Splitting","display_name":"Optimal Split Point Placement for Predictable GPU Wavefront Splitting","publication_year":2025,"publication_date":"2025-09-23","ids":{"openalex":"https://openalex.org/W4414437046","doi":"https://doi.org/10.1145/3769118"},"language":"en","primary_location":{"id":"doi:10.1145/3769118","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3769118","pdf_url":null,"source":{"id":"https://openalex.org/S136160450","display_name":"ACM Transactions on Embedded Computing Systems","issn_l":"1539-9087","issn":["1539-9087","1558-3465"],"is_oa":false,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Embedded Computing Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"https://doi.org/10.1145/3769118","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5092831742","display_name":"Artem Klashtorny","orcid":"https://orcid.org/0009-0001-8458-8512"},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Artem Klashtorny","raw_affiliation_strings":["Electrical and Computer Engineering, University of Waterloo"],"raw_orcid":"https://orcid.org/0009-0001-8458-8512","affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering, University of Waterloo","institution_ids":["https://openalex.org/I151746483"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5081788400","display_name":"Mahesh Tripunitara","orcid":"https://orcid.org/0000-0002-3615-9393"},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Mahesh Tripunitara","raw_affiliation_strings":["Electrical and Computer Engineering, University of Waterloo"],"raw_orcid":"https://orcid.org/0000-0002-3615-9393","affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering, University of Waterloo","institution_ids":["https://openalex.org/I151746483"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5074065388","display_name":"Hiren Patel","orcid":"https://orcid.org/0000-0003-2750-4471"},"institutions":[{"id":"https://openalex.org/I151746483","display_name":"University of Waterloo","ror":"https://ror.org/01aff2v68","country_code":"CA","type":"education","lineage":["https://openalex.org/I151746483"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Hiren Patel","raw_affiliation_strings":["Electrical and Computer Engineering, University of Waterloo"],"raw_orcid":"https://orcid.org/0000-0003-2750-4471","affiliations":[{"raw_affiliation_string":"Electrical and Computer Engineering, University of Waterloo","institution_ids":["https://openalex.org/I151746483"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I151746483"],"apc_list":null,"apc_paid":null,"fwci":0.7639,"has_fulltext":false,"cited_by_count":1,"citation_normalized_percentile":{"value":0.74153861,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":97},"biblio":{"volume":"24","issue":"6","first_page":"1","last_page":"25"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11484","display_name":"Adaptive optics and wavefront sensing","score":0.993399977684021,"subfield":{"id":"https://openalex.org/subfields/3107","display_name":"Atomic and Molecular Physics, and Optics"},"field":{"id":"https://openalex.org/fields/31","display_name":"Physics and Astronomy"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11484","display_name":"Adaptive optics and wavefront sensing","score":0.993399977684021,"subfield":{"id":"https://openalex.org/subfields/3107","display_name":"Atomic and Molecular Physics, and Optics"},"field":{"id":"https://openalex.org/fields/31","display_name":"Physics and Astronomy"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10531","display_name":"Advanced Vision and Imaging","score":0.9925000071525574,"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.9916999936103821,"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/executable","display_name":"Executable","score":0.6287000179290771},{"id":"https://openalex.org/keywords/suite","display_name":"Suite","score":0.6061000227928162},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.6021999716758728},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5595999956130981},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.5049999952316284},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.4587000012397766},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.438400000333786},{"id":"https://openalex.org/keywords/subroutine","display_name":"Subroutine","score":0.38659998774528503},{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.3822999894618988},{"id":"https://openalex.org/keywords/quadratic-programming","display_name":"Quadratic programming","score":0.37929999828338623}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8210999965667725},{"id":"https://openalex.org/C160145156","wikidata":"https://www.wikidata.org/wiki/Q778586","display_name":"Executable","level":2,"score":0.6287000179290771},{"id":"https://openalex.org/C79581498","wikidata":"https://www.wikidata.org/wiki/Q1367530","display_name":"Suite","level":2,"score":0.6061000227928162},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.6021999716758728},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5595999956130981},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.5049999952316284},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.48170000314712524},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.4587000012397766},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.438400000333786},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3928999900817871},{"id":"https://openalex.org/C96147967","wikidata":"https://www.wikidata.org/wiki/Q190686","display_name":"Subroutine","level":2,"score":0.38659998774528503},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.3822999894618988},{"id":"https://openalex.org/C81845259","wikidata":"https://www.wikidata.org/wiki/Q290117","display_name":"Quadratic programming","level":2,"score":0.37929999828338623},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.3671000003814697},{"id":"https://openalex.org/C28719098","wikidata":"https://www.wikidata.org/wiki/Q44946","display_name":"Point (geometry)","level":2,"score":0.3546999990940094},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.35440000891685486},{"id":"https://openalex.org/C41045048","wikidata":"https://www.wikidata.org/wiki/Q202843","display_name":"Linear programming","level":2,"score":0.32679998874664307},{"id":"https://openalex.org/C12725497","wikidata":"https://www.wikidata.org/wiki/Q810247","display_name":"Baseline (sea)","level":2,"score":0.32109999656677246},{"id":"https://openalex.org/C56086750","wikidata":"https://www.wikidata.org/wiki/Q6042592","display_name":"Integer programming","level":2,"score":0.3102000057697296},{"id":"https://openalex.org/C129844170","wikidata":"https://www.wikidata.org/wiki/Q41299","display_name":"Quadratic equation","level":2,"score":0.2976999878883362},{"id":"https://openalex.org/C113775141","wikidata":"https://www.wikidata.org/wiki/Q428691","display_name":"Computer engineering","level":1,"score":0.2831000089645386},{"id":"https://openalex.org/C50630238","wikidata":"https://www.wikidata.org/wiki/Q971505","display_name":"General-purpose computing on graphics processing units","level":3,"score":0.2802000045776367},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2791000008583069},{"id":"https://openalex.org/C18945957","wikidata":"https://www.wikidata.org/wiki/Q5597193","display_name":"Graphics hardware","level":3,"score":0.27790001034736633},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.275299996137619},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.274399995803833},{"id":"https://openalex.org/C90119067","wikidata":"https://www.wikidata.org/wiki/Q43260","display_name":"Polynomial","level":2,"score":0.27219998836517334},{"id":"https://openalex.org/C2778770139","wikidata":"https://www.wikidata.org/wiki/Q1966904","display_name":"Solver","level":2,"score":0.27160000801086426},{"id":"https://openalex.org/C37404715","wikidata":"https://www.wikidata.org/wiki/Q380679","display_name":"Dynamic programming","level":2,"score":0.2700999975204468},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.25999999046325684},{"id":"https://openalex.org/C164155591","wikidata":"https://www.wikidata.org/wiki/Q2067766","display_name":"Satisfiability modulo theories","level":2,"score":0.2599000036716461},{"id":"https://openalex.org/C137836250","wikidata":"https://www.wikidata.org/wiki/Q984063","display_name":"Optimization problem","level":2,"score":0.2578999996185303},{"id":"https://openalex.org/C164752517","wikidata":"https://www.wikidata.org/wiki/Q5570875","display_name":"Global optimization","level":2,"score":0.2572000026702881},{"id":"https://openalex.org/C2778751112","wikidata":"https://www.wikidata.org/wiki/Q835016","display_name":"Window (computing)","level":2,"score":0.2556000053882599},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.2502000033855438}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3769118","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3769118","pdf_url":null,"source":{"id":"https://openalex.org/S136160450","display_name":"ACM Transactions on Embedded Computing Systems","issn_l":"1539-9087","issn":["1539-9087","1558-3465"],"is_oa":false,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Embedded Computing Systems","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3769118","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3769118","pdf_url":null,"source":{"id":"https://openalex.org/S136160450","display_name":"ACM Transactions on Embedded Computing Systems","issn_l":"1539-9087","issn":["1539-9087","1558-3465"],"is_oa":false,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Embedded Computing Systems","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":20,"referenced_works":["https://openalex.org/W1979527452","https://openalex.org/W1998886328","https://openalex.org/W2013247896","https://openalex.org/W2080592089","https://openalex.org/W2106018915","https://openalex.org/W2125979435","https://openalex.org/W2144591434","https://openalex.org/W2156831150","https://openalex.org/W2160428323","https://openalex.org/W2268719175","https://openalex.org/W2786171709","https://openalex.org/W2809735256","https://openalex.org/W2895519740","https://openalex.org/W3005741839","https://openalex.org/W3037807633","https://openalex.org/W3135509753","https://openalex.org/W3148394109","https://openalex.org/W3183374399","https://openalex.org/W3186368531","https://openalex.org/W4386568575"],"related_works":[],"abstract_inverted_index":{"Predictable":[0],"wavefront":[1],"splitting":[2],"(PWS)":[3],"is":[4],"an":[5,57,81,104,138],"optimization":[6],"technique":[7],"for":[8,103],"graphics":[9],"processing":[10],"units":[11],"(GPUs)":[12],"to":[13,153,163],"address":[14],"the":[15,32,38,53,65,68,75,89,93,110,119,155],"performance":[16],"and":[17,107,134,160],"worst-case":[18],"execution":[19],"time":[20],"(WCET)":[21],"impacts":[22],"of":[23,118,141],"branch":[24],"divergence.":[25],"PWS":[26],"relies":[27],"on":[28,113,127],"manual":[29],"annotation":[30,55],"by":[31,132,157],"GPU":[33],"programmer;":[34],"these":[35,148],"choices":[36],"affect":[37],"resulting":[39],"WCET.":[40,70],"This":[41],"work":[42],"automates":[43],"this":[44],"process":[45],"with":[46,80,137],"two":[47,149],"key":[48],"approaches.":[49],"First,":[50],"we":[51,72,108],"formulate":[52],"optimal":[54,82],"as":[56,92],"integer":[58],"quadratic":[59],"programming":[60,85],"(IQP)":[61],"problem":[62,76],"such":[63],"that":[64,74,87,147],"solution":[66],"guarantees":[67],"lowest":[69],"Second,":[71],"show":[73],"can":[77],"be":[78],"solved":[79],"polynomial-time":[83],"dynamic":[84],"algorithm":[86,98],"achieves":[88],"same":[90],"solutions":[91],"IQP.":[94],"We":[95,123],"implement":[96],"our":[97,125],"in":[99],"a":[100,114,128],"compiler":[101],"flow":[102],"AMD":[105,120,133],"GPU,":[106],"deploy":[109],"annotated":[111],"executable":[112],"gem5":[115],"micro-architectural":[116],"implementation":[117,126],"GCN3":[121],"GPU.":[122],"evaluate":[124],"benchmark":[129],"suite":[130],"provided":[131],"supplement":[135],"it":[136],"extensive":[139],"set":[140],"synthetic":[142],"benchmarks.":[143],"Our":[144],"evaluation":[145],"shows":[146],"approaches":[150],"are":[151],"able":[152],"reduce":[154],"WCET":[156],"between":[158],"13%":[159],"31%":[161],"compared":[162],"five":[164],"baseline":[165],"algorithms.":[166]},"counts_by_year":[{"year":2026,"cited_by_count":1}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
