{"id":"https://openalex.org/W2290988208","doi":"https://doi.org/10.1145/2892208.2892217","title":"Input space splitting for OpenCL","display_name":"Input space splitting for OpenCL","publication_year":2016,"publication_date":"2016-03-14","ids":{"openalex":"https://openalex.org/W2290988208","doi":"https://doi.org/10.1145/2892208.2892217","mag":"2290988208"},"language":"en","primary_location":{"id":"doi:10.1145/2892208.2892217","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2892208.2892217","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 25th International Conference on Compiler Construction","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5061644724","display_name":"Simon Moll","orcid":null},"institutions":[{"id":"https://openalex.org/I91712215","display_name":"Saarland University","ror":"https://ror.org/01jdpyv68","country_code":"DE","type":"education","lineage":["https://openalex.org/I91712215"]}],"countries":["DE"],"is_corresponding":true,"raw_author_name":"Simon Moll","raw_affiliation_strings":["Saarland University, Germany"],"affiliations":[{"raw_affiliation_string":"Saarland University, Germany","institution_ids":["https://openalex.org/I91712215"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5032645176","display_name":"Johannes Doerfert","orcid":"https://orcid.org/0000-0001-7870-8963"},"institutions":[{"id":"https://openalex.org/I91712215","display_name":"Saarland University","ror":"https://ror.org/01jdpyv68","country_code":"DE","type":"education","lineage":["https://openalex.org/I91712215"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Johannes Doerfert","raw_affiliation_strings":["Saarland University, Germany"],"affiliations":[{"raw_affiliation_string":"Saarland University, Germany","institution_ids":["https://openalex.org/I91712215"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5018809145","display_name":"Sebastian Hack","orcid":"https://orcid.org/0000-0002-3387-2134"},"institutions":[{"id":"https://openalex.org/I91712215","display_name":"Saarland University","ror":"https://ror.org/01jdpyv68","country_code":"DE","type":"education","lineage":["https://openalex.org/I91712215"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"Sebastian Hack","raw_affiliation_strings":["Saarland University, Germany"],"affiliations":[{"raw_affiliation_string":"Saarland University, Germany","institution_ids":["https://openalex.org/I91712215"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5061644724"],"corresponding_institution_ids":["https://openalex.org/I91712215"],"apc_list":null,"apc_paid":null,"fwci":1.892,"has_fulltext":false,"cited_by_count":12,"citation_normalized_percentile":{"value":0.84069964,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"251","last_page":"260"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization 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/T10054","display_name":"Parallel Computing and Optimization 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/T11181","display_name":"Advanced Data Storage Technologies","score":0.9861000180244446,"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"}},{"id":"https://openalex.org/T10904","display_name":"Embedded Systems Design Techniques","score":0.978600025177002,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8988838195800781},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7607156038284302},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7597783207893372},{"id":"https://openalex.org/keywords/partition","display_name":"Partition (number theory)","score":0.6496131420135498},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.6471627950668335},{"id":"https://openalex.org/keywords/instruction-set","display_name":"Instruction set","score":0.5951497554779053},{"id":"https://openalex.org/keywords/simd","display_name":"SIMD","score":0.5885385870933533},{"id":"https://openalex.org/keywords/divergence","display_name":"Divergence (linguistics)","score":0.5718786716461182},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.5235335826873779},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4598051607608795},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.4219053387641907},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.3291388154029846},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.3182341456413269},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.2668331265449524},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.11935707926750183}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8988838195800781},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7607156038284302},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7597783207893372},{"id":"https://openalex.org/C42812","wikidata":"https://www.wikidata.org/wiki/Q1082910","display_name":"Partition (number theory)","level":2,"score":0.6496131420135498},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.6471627950668335},{"id":"https://openalex.org/C202491316","wikidata":"https://www.wikidata.org/wiki/Q272683","display_name":"Instruction set","level":2,"score":0.5951497554779053},{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.5885385870933533},{"id":"https://openalex.org/C207390915","wikidata":"https://www.wikidata.org/wiki/Q1230525","display_name":"Divergence (linguistics)","level":2,"score":0.5718786716461182},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.5235335826873779},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4598051607608795},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.4219053387641907},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.3291388154029846},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.3182341456413269},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2668331265449524},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.11935707926750183},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"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/2892208.2892217","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2892208.2892217","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 25th International Conference on Compiler Construction","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":37,"referenced_works":["https://openalex.org/W38257615","https://openalex.org/W1191262899","https://openalex.org/W1570965180","https://openalex.org/W1598202309","https://openalex.org/W1794500012","https://openalex.org/W1973407183","https://openalex.org/W1981389326","https://openalex.org/W1991009705","https://openalex.org/W1991592471","https://openalex.org/W1994316441","https://openalex.org/W2000873501","https://openalex.org/W2034761517","https://openalex.org/W2040142113","https://openalex.org/W2062368747","https://openalex.org/W2077143534","https://openalex.org/W2078994750","https://openalex.org/W2080592089","https://openalex.org/W2102976251","https://openalex.org/W2116210226","https://openalex.org/W2124556751","https://openalex.org/W2127282737","https://openalex.org/W2128329055","https://openalex.org/W2129733930","https://openalex.org/W2134705409","https://openalex.org/W2138767187","https://openalex.org/W2153185479","https://openalex.org/W2157273783","https://openalex.org/W2250315017","https://openalex.org/W2262897959","https://openalex.org/W2273440736","https://openalex.org/W2294854295","https://openalex.org/W2609298491","https://openalex.org/W3103903655","https://openalex.org/W3103983137","https://openalex.org/W4256213682","https://openalex.org/W6692549413","https://openalex.org/W6737341078"],"related_works":["https://openalex.org/W2135947393","https://openalex.org/W4248145683","https://openalex.org/W2100579514","https://openalex.org/W2094969226","https://openalex.org/W3140523975","https://openalex.org/W2569816949","https://openalex.org/W1486493261","https://openalex.org/W2069811640","https://openalex.org/W2520139353","https://openalex.org/W2069411275"],"abstract_inverted_index":{"The":[0],"performance":[1],"of":[2,77,115,137,144],"OpenCL":[3,13,79,124,138,155],"programs":[4],"suffers":[5],"from":[6],"memory":[7,24],"and":[8,23,131],"control":[9,21],"flow":[10,22],"divergence.":[11,117],"Therefore,":[12],"compilers":[14,51],"employ":[15],"static":[16],"analyses":[17],"to":[18,28,53,72,146],"identify":[19],"non-divergent":[20],"accesses":[25],"in":[26,122],"order":[27],"produce":[29],"faster":[30],"code.":[31],"However,":[32],"divergence":[33,58,84],"is":[34],"often":[35],"input-dependent,":[36],"hence":[37],"can":[38,59,92],"be":[39],"observed":[40],"for":[41,103,109,126,148],"some,":[42],"but":[43],"not":[44],"all":[45],"inputs.":[46],"In":[47,64],"these":[48],"cases,":[49],"vectorizing":[50,154],"have":[52],"generate":[54],"slow":[55],"code":[56,95,113],"because":[57,114],"occur":[60],"at":[61],"run":[62],"time.":[63],"this":[65],"paper,":[66],"we":[67],"use":[68],"a":[69,135,152],"polyhedral":[70],"abstraction":[71],"partition":[73],"the":[74,101,104,127],"input":[75,105],"space":[76,106],"an":[78,123],"kernel.":[80],"For":[81],"each":[82],"partition,":[83],"analysis":[85],"produces":[86],"more":[87,94],"precise":[88],"results":[89],"i.e.,":[90],"it":[91,133],"classify":[93],"parts":[96],"as":[97],"non-divergent.":[98],"Consequently,":[99],"specializing":[100],"kernel":[102],"partitions":[107],"allows":[108],"generating":[110],"better":[111],"SIMD":[112],"less":[116],"We":[118,140],"implemented":[119],"our":[120],"technique":[121],"driver":[125],"AVX":[128],"instruction":[129],"set":[130],"evaluate":[132],"on":[134],"range":[136],"benchmarks.":[139],"observe":[141],"speed":[142],"ups":[143],"up":[145],"9x":[147],"irregular":[149],"kernels":[150],"over":[151],"state-of-the-art":[153],"driver.":[156]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":3},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":1},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
