{"id":"https://openalex.org/W2902879940","doi":"https://doi.org/10.1109/ia3.2018.00014","title":"Mix-and-Match: A Model-Driven Runtime Optimisation Strategy for BFS on GPUs","display_name":"Mix-and-Match: A Model-Driven Runtime Optimisation Strategy for BFS on GPUs","publication_year":2018,"publication_date":"2018-11-01","ids":{"openalex":"https://openalex.org/W2902879940","doi":"https://doi.org/10.1109/ia3.2018.00014","mag":"2902879940"},"language":"en","primary_location":{"id":"doi:10.1109/ia3.2018.00014","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ia3.2018.00014","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 IEEE/ACM 8th Workshop on Irregular Applications: Architectures and Algorithms (IA3)","raw_type":"proceedings-article"},"type":"conference-paper","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/A5047857478","display_name":"Merijn Verstraaten","orcid":"https://orcid.org/0000-0002-2717-9851"},"institutions":[{"id":"https://openalex.org/I887064364","display_name":"University of Amsterdam","ror":"https://ror.org/04dkp9463","country_code":"NL","type":"education","lineage":["https://openalex.org/I887064364"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Merijn Verstraaten","raw_affiliation_strings":["Informatics Institute, University of Amsterdam Amsterdam, The Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Informatics Institute, University of Amsterdam Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I887064364"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5109847155","display_name":"Ana Lucia V\u0103rb\u0103nescu","orcid":null},"institutions":[{"id":"https://openalex.org/I887064364","display_name":"University of Amsterdam","ror":"https://ror.org/04dkp9463","country_code":"NL","type":"education","lineage":["https://openalex.org/I887064364"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Ana Lucia Varbanescu","raw_affiliation_strings":["Informatics Institute, University of Amsterdam Amsterdam, The Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Informatics Institute, University of Amsterdam Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I887064364"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5039787606","display_name":"Cees de Laat","orcid":"https://orcid.org/0009-0009-3025-2974"},"institutions":[{"id":"https://openalex.org/I887064364","display_name":"University of Amsterdam","ror":"https://ror.org/04dkp9463","country_code":"NL","type":"education","lineage":["https://openalex.org/I887064364"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Cees de Laat","raw_affiliation_strings":["Informatics Institute, University of Amsterdam Amsterdam, The Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Informatics Institute, University of Amsterdam Amsterdam, The Netherlands","institution_ids":["https://openalex.org/I887064364"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I887064364"],"apc_list":null,"apc_paid":null,"fwci":0.0759,"has_fulltext":false,"cited_by_count":3,"citation_normalized_percentile":{"value":0.40584368,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":94},"biblio":{"volume":null,"issue":null,"first_page":"53","last_page":"60"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T12292","display_name":"Graph Theory and Algorithms","score":0.9993000030517578,"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/T12292","display_name":"Graph Theory and Algorithms","score":0.9993000030517578,"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/T10720","display_name":"Complexity and Algorithms in Graphs","score":0.9957000017166138,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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/T11273","display_name":"Advanced Graph Neural Networks","score":0.9944000244140625,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"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/tree-traversal","display_name":"Tree traversal","score":0.8897730112075806},{"id":"https://openalex.org/keywords/graph-traversal","display_name":"Graph traversal","score":0.8838923573493958},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8364583253860474},{"id":"https://openalex.org/keywords/breadth-first-search","display_name":"Breadth-first search","score":0.6971055269241333},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.6246178150177002},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.5413098335266113},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.5260753035545349},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.4987812042236328},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.4587422311306},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.4416932463645935},{"id":"https://openalex.org/keywords/tree","display_name":"Tree (set theory)","score":0.4163706302642822},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.269642174243927},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.08503034710884094},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.07793834805488586}],"concepts":[{"id":"https://openalex.org/C140745168","wikidata":"https://www.wikidata.org/wiki/Q1210082","display_name":"Tree traversal","level":2,"score":0.8897730112075806},{"id":"https://openalex.org/C96333769","wikidata":"https://www.wikidata.org/wiki/Q907955","display_name":"Graph traversal","level":3,"score":0.8838923573493958},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8364583253860474},{"id":"https://openalex.org/C138843760","wikidata":"https://www.wikidata.org/wiki/Q325904","display_name":"Breadth-first search","level":2,"score":0.6971055269241333},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.6246178150177002},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.5413098335266113},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5260753035545349},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.4987812042236328},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4587422311306},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.4416932463645935},{"id":"https://openalex.org/C113174947","wikidata":"https://www.wikidata.org/wiki/Q2859736","display_name":"Tree (set theory)","level":2,"score":0.4163706302642822},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.269642174243927},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.08503034710884094},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.07793834805488586},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/ia3.2018.00014","is_oa":false,"landing_page_url":"https://doi.org/10.1109/ia3.2018.00014","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2018 IEEE/ACM 8th Workshop on Irregular Applications: Architectures and Algorithms (IA3)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":38,"referenced_works":["https://openalex.org/W131619556","https://openalex.org/W1562724932","https://openalex.org/W1955594754","https://openalex.org/W1965830721","https://openalex.org/W1997162567","https://openalex.org/W2038666141","https://openalex.org/W2041470524","https://openalex.org/W2046526098","https://openalex.org/W2077718774","https://openalex.org/W2080098453","https://openalex.org/W2096858484","https://openalex.org/W2101234009","https://openalex.org/W2102067213","https://openalex.org/W2107158148","https://openalex.org/W2109473404","https://openalex.org/W2122297544","https://openalex.org/W2136553367","https://openalex.org/W2143460123","https://openalex.org/W2144085134","https://openalex.org/W2167383108","https://openalex.org/W2170059648","https://openalex.org/W2330820318","https://openalex.org/W2407929059","https://openalex.org/W2475875537","https://openalex.org/W2483318309","https://openalex.org/W2526627475","https://openalex.org/W2534888058","https://openalex.org/W2612942414","https://openalex.org/W3006582303","https://openalex.org/W3013652274","https://openalex.org/W3048716914","https://openalex.org/W3085162807","https://openalex.org/W4252246366","https://openalex.org/W4253312992","https://openalex.org/W4293471987","https://openalex.org/W6660922021","https://openalex.org/W6675354045","https://openalex.org/W6727607290"],"related_works":["https://openalex.org/W2797291190","https://openalex.org/W2786956989","https://openalex.org/W2887020706","https://openalex.org/W2007113317","https://openalex.org/W1821961669","https://openalex.org/W1978615272","https://openalex.org/W4254594467","https://openalex.org/W4252596799","https://openalex.org/W4230405657","https://openalex.org/W2200188075"],"abstract_inverted_index":{"It":[0],"is":[1,10,120,135,193],"universally":[2],"accepted":[3],"that":[4,166,190],"the":[5,14,16,20,23,34,37,67,91,113,140,157,160],"performance":[6,101],"of":[7,22,36,69,76,159,217,222],"graph":[8,58,200],"algorithms":[9,110],"heavily":[11],"dependent":[12],"on":[13,49,62,122,130],"algorithm,":[15,60],"execution":[17],"platform,":[18],"and":[19,32,83,148,180,211],"structure":[21],"input":[24],"graph.":[25],"This":[26],"variability":[27,71],"remains":[28],"difficult":[29],"to":[30,105,111,137,206,214],"predict":[31],"hinders":[33],"choice":[35],"right":[38],"algorithm":[39,89,143],"for":[40,80,90,144,197],"a":[41,50,56,126,131,149,194],"given":[42],"problem.":[43],"In":[44],"this":[45,70],"work,":[46],"we":[47,103],"focus":[48],"case":[51],"study:":[52],"breadth-first":[53],"search":[54],"(BFS),":[55],"level-based":[57],"traversal":[59,93],"running":[61],"GPUs.":[63],"We":[64,163,188],"first":[65],"demonstrate":[66,164],"severity":[68],"by":[72,178,186],"presenting":[73],"32":[74],"variations":[75],"5":[77],"implementation":[78],"strategies":[79],"GPU-enabled":[81],"BFS,":[82],"showing":[84],"how":[85],"selecting":[86],"one":[87],"single":[88],"entire":[92],"can":[94],"significantly":[95],"limit":[96],"performance.":[97],"To":[98],"alleviate":[99],"these":[100],"losses,":[102],"propose":[104],"mix-and-match,":[106],"at":[107],"runtime,":[108],"different":[109],"compose":[112],"best":[114,141],"performing":[115,142],"BFS":[116,146,170,184,192,209],"traversal.":[117],"Our":[118],"approach":[119,196],"based":[121,129],"two":[123],"novel":[124],"elements:":[125],"predictive":[127],"model,":[128],"decision":[132],"tree,":[133],"which":[134,155],"able":[136],"dynamically":[138],"select":[139],"each":[145],"level,":[147],"quick":[150],"context":[151],"switch":[152],"between":[153],"algorithms,":[154],"limits":[156],"overhead":[158],"combined":[161],"BFS.":[162],"empirically":[165],"our":[167,175],"dynamic":[168],"switching":[169],"achieves":[171],"better":[172],"performance,":[173],"outperforming":[174],"non-switching":[176],"implementations":[177,185,210],"2\u00d7":[179],"existing":[181],"state-of-the-art":[182],"GPU":[183],"3\u00d7.":[187],"conclude":[189],"mix-and-match":[191],"competitive":[195],"doing":[198],"fast":[199],"traversal,":[201],"while":[202],"being":[203],"easily":[204,212],"extended":[205],"include":[207],"more":[208],"adaptable":[213],"other":[215],"types":[216,221],"processors":[218],"or":[219],"specific":[220],"graphs.":[223]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1}],"updated_date":"2026-08-11T07:18:39.950985","created_date":"2025-10-10T00:00:00"}
