{"id":"https://openalex.org/W2106329447","doi":"https://doi.org/10.1109/micro.2012.19","title":"Kernel Weaver: Automatically Fusing Database Primitives for Efficient GPU Computation","display_name":"Kernel Weaver: Automatically Fusing Database Primitives for Efficient GPU Computation","publication_year":2012,"publication_date":"2012-12-01","ids":{"openalex":"https://openalex.org/W2106329447","doi":"https://doi.org/10.1109/micro.2012.19","mag":"2106329447"},"language":"en","primary_location":{"id":"doi:10.1109/micro.2012.19","is_oa":false,"landing_page_url":"https://doi.org/10.1109/micro.2012.19","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2012 45th Annual IEEE/ACM International Symposium on Microarchitecture","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/A5003741499","display_name":"Haicheng Wu","orcid":"https://orcid.org/0000-0003-0357-9049"},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Haicheng Wu","raw_affiliation_strings":["Georgia Institute of Technology, USA","[Georgia Institute of Technology.]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Georgia Institute of Technology, USA","institution_ids":["https://openalex.org/I130701444"]},{"raw_affiliation_string":"[Georgia Institute of Technology.]","institution_ids":["https://openalex.org/I130701444"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5006631932","display_name":"Gregory Diamos","orcid":null},"institutions":[{"id":"https://openalex.org/I1304085615","display_name":"Nvidia (United Kingdom)","ror":"https://ror.org/02kr42612","country_code":"GB","type":"company","lineage":["https://openalex.org/I1304085615","https://openalex.org/I4210127875"]},{"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":["GB","US"],"is_corresponding":false,"raw_author_name":"Gregory Diamos","raw_affiliation_strings":["NVIDIA Research, USA","Nvidia"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"NVIDIA Research, USA","institution_ids":["https://openalex.org/I4210127875"]},{"raw_affiliation_string":"Nvidia","institution_ids":["https://openalex.org/I1304085615"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5034416611","display_name":"Srihari Cadambi","orcid":null},"institutions":[{"id":"https://openalex.org/I4210107353","display_name":"NEC (United States)","ror":"https://ror.org/01v791m31","country_code":"US","type":"company","lineage":["https://openalex.org/I118347220","https://openalex.org/I4210107353"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Srihari Cadambi","raw_affiliation_strings":["NEC Laboratories America, Inc., USA","NEC Labs America"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"NEC Laboratories America, Inc., USA","institution_ids":["https://openalex.org/I4210107353"]},{"raw_affiliation_string":"NEC Labs America","institution_ids":["https://openalex.org/I4210107353"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5111855694","display_name":"Sudhakar Yalamanchili","orcid":null},"institutions":[{"id":"https://openalex.org/I130701444","display_name":"Georgia Institute of Technology","ror":"https://ror.org/01zkghx44","country_code":"US","type":"education","lineage":["https://openalex.org/I130701444"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sudhakar Yalamanchili","raw_affiliation_strings":["Georgia Institute of Technology, USA","[Georgia Institute of Technology.]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Georgia Institute of Technology, USA","institution_ids":["https://openalex.org/I130701444"]},{"raw_affiliation_string":"[Georgia Institute of Technology.]","institution_ids":["https://openalex.org/I130701444"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":15.9744,"has_fulltext":false,"cited_by_count":103,"citation_normalized_percentile":{"value":0.99291616,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"107","last_page":"118"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.9990000128746033,"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"}},"topics":[{"id":"https://openalex.org/T10317","display_name":"Advanced Database Systems and Queries","score":0.9990000128746033,"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/T11106","display_name":"Data Management and Algorithms","score":0.9983999729156494,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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.9955000281333923,"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.8938034772872925},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6896380186080933},{"id":"https://openalex.org/keywords/speedup","display_name":"Speedup","score":0.6250029802322388},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6240208148956299},{"id":"https://openalex.org/keywords/memory-hierarchy","display_name":"Memory hierarchy","score":0.5756532549858093},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.5362159013748169},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.4976196587085724},{"id":"https://openalex.org/keywords/memory-bandwidth","display_name":"Memory bandwidth","score":0.4928469657897949},{"id":"https://openalex.org/keywords/cache","display_name":"Cache","score":0.23120814561843872},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.19666659832000732}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8938034772872925},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6896380186080933},{"id":"https://openalex.org/C68339613","wikidata":"https://www.wikidata.org/wiki/Q1549489","display_name":"Speedup","level":2,"score":0.6250029802322388},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6240208148956299},{"id":"https://openalex.org/C2778100165","wikidata":"https://www.wikidata.org/wiki/Q1589327","display_name":"Memory hierarchy","level":3,"score":0.5756532549858093},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.5362159013748169},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.4976196587085724},{"id":"https://openalex.org/C188045654","wikidata":"https://www.wikidata.org/wiki/Q17148339","display_name":"Memory bandwidth","level":2,"score":0.4928469657897949},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.23120814561843872},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.19666659832000732},{"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.1109/micro.2012.19","is_oa":false,"landing_page_url":"https://doi.org/10.1109/micro.2012.19","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2012 45th Annual IEEE/ACM International Symposium on Microarchitecture","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Industry, innovation and infrastructure","score":0.4000000059604645,"id":"https://metadata.un.org/sdg/9"}],"awards":[],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320309480","display_name":"Nvidia","ror":"https://ror.org/03jdj4y14"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":45,"referenced_works":["https://openalex.org/W22188748","https://openalex.org/W1556741196","https://openalex.org/W1558832481","https://openalex.org/W1585509108","https://openalex.org/W1967851095","https://openalex.org/W1971962972","https://openalex.org/W1985263109","https://openalex.org/W1992558790","https://openalex.org/W1996466054","https://openalex.org/W2004477204","https://openalex.org/W2009036829","https://openalex.org/W2017086619","https://openalex.org/W2023770077","https://openalex.org/W2030490908","https://openalex.org/W2045271686","https://openalex.org/W2050513283","https://openalex.org/W2054468361","https://openalex.org/W2059226577","https://openalex.org/W2068418796","https://openalex.org/W2078391824","https://openalex.org/W2096041635","https://openalex.org/W2104958979","https://openalex.org/W2109515201","https://openalex.org/W2112340065","https://openalex.org/W2112828875","https://openalex.org/W2122949840","https://openalex.org/W2127766448","https://openalex.org/W2128046183","https://openalex.org/W2136083615","https://openalex.org/W2138163628","https://openalex.org/W2153185479","https://openalex.org/W2165633563","https://openalex.org/W2167679350","https://openalex.org/W2257258878","https://openalex.org/W2283571372","https://openalex.org/W2406413350","https://openalex.org/W4206031975","https://openalex.org/W4246166885","https://openalex.org/W4251841159","https://openalex.org/W6600946046","https://openalex.org/W6635276414","https://openalex.org/W6642291734","https://openalex.org/W6646860674","https://openalex.org/W6692760218","https://openalex.org/W6713725621"],"related_works":["https://openalex.org/W2778498407","https://openalex.org/W4376647684","https://openalex.org/W4221139464","https://openalex.org/W2735130281","https://openalex.org/W1990309876","https://openalex.org/W79990711","https://openalex.org/W4295935130","https://openalex.org/W1480947737","https://openalex.org/W2953368509","https://openalex.org/W3010779417"],"abstract_inverted_index":{"Data":[0],"warehousing":[1],"applications":[2],"represent":[3],"an":[4],"emerging":[5],"application":[6],"arena":[7],"that":[8,30,45,166,185],"requires":[9],"the":[10,49,55,60,83,101,205],"processing":[11],"of":[12,20,51,104],"relational":[13,170],"queries":[14],"and":[15,58,62,120,124,150,194,219],"computations":[16],"over":[17],"massive":[18],"amounts":[19],"data.":[21],"Modern":[22],"general":[23],"purpose":[24],"GPUs":[25],"are":[26,42],"high":[27],"bandwidth":[28],"architectures":[29],"potentially":[31],"offer":[32],"substantial":[33],"improvements":[34],"in":[35,76,82,191,198],"throughput":[36],"for":[37,94,221],"these":[38,73],"applications.":[39],"However,":[40],"there":[41],"significant":[43],"challenges":[44],"arise":[46],"due":[47],"to":[48,71,108,113],"overheads":[50],"data":[52,68,95,111,116,176],"movement":[53,69,96,117],"through":[54],"memory":[56,122],"hierarchy":[57],"between":[59,135],"GPU":[61,106,119,192],"host":[63],"CPU.":[64],"This":[65],"paper":[66],"proposes":[67],"optimizations":[70,81],"address":[72],"challenges.":[74],"Inspired":[75],"part":[77],"by":[78],"loop":[79],"fusion":[80,90,99,187],"scientific":[84],"computing":[85],"community,":[86],"we":[87,159],"propose":[88,160],"kernel":[89,153,186],"as":[91],"a":[92,161,195],"basis":[93],"optimizations.":[97],"Kernel":[98,164],"fuses":[100],"code":[102],"bodies":[103],"two":[105],"kernels":[107,137],"i)":[109,141],"reduce":[110],"footprint":[112],"cut":[114],"down":[115],"throughout":[118],"CPU":[121],"hierarchy,":[123],"ii)":[125,145],"enlarge":[126],"compiler":[127,162,217],"optimization":[128],"scope.":[129],"We":[130,208],"classify":[131],"producer":[132],"consumer":[133],"dependences":[134],"compute":[136],"into":[138],"three":[139],"types,":[140],"fine-grained":[142],"thread-to-thread":[143],"dependences,":[144,149],"medium-grained":[146],"thread":[147],"block":[148],"iii)":[151],"coarse-grained":[152],"dependences.":[154],"Based":[155],"on":[156,180,202],"this":[157],"classification,":[158],"framework,":[163],"Weaver,":[165],"can":[167],"automatically":[168],"fuse":[169],"algebra":[171],"operators":[172],"thereby":[173],"eliminating":[174],"redundant":[175],"movement.":[177],"The":[178],"experiments":[179],"NVIDIA":[181],"Fermi":[182],"platforms":[183],"demonstrate":[184],"achieves":[188],"2.89x":[189],"speedup":[190,197],"computation":[193],"2.35x":[196],"PCIe":[199],"transfer":[200],"time":[201],"average":[203],"across":[204],"micro-benchmarks":[206],"tested.":[207],"present":[209],"key":[210],"insights,":[211],"lessons":[212],"learned,":[213],"measurements":[214],"from":[215],"our":[216],"implementation,":[218],"opportunities":[220],"further":[222],"improvements.":[223]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":6},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":4},{"year":2021,"cited_by_count":5},{"year":2020,"cited_by_count":8},{"year":2019,"cited_by_count":6},{"year":2018,"cited_by_count":9},{"year":2017,"cited_by_count":5},{"year":2016,"cited_by_count":8},{"year":2015,"cited_by_count":12},{"year":2014,"cited_by_count":17},{"year":2013,"cited_by_count":14},{"year":2012,"cited_by_count":1}],"updated_date":"2026-07-11T18:08:03.149640","created_date":"2025-10-10T00:00:00"}
