{"id":"https://openalex.org/W3041191963","doi":"https://doi.org/10.1145/3350755.3400216","title":"Bandwidth Optimized Parallel Algorithms for Sparse Matrix-Matrix Multiplication using Propagation Blocking","display_name":"Bandwidth Optimized Parallel Algorithms for Sparse Matrix-Matrix Multiplication using Propagation Blocking","publication_year":2020,"publication_date":"2020-07-06","ids":{"openalex":"https://openalex.org/W3041191963","doi":"https://doi.org/10.1145/3350755.3400216","mag":"3041191963"},"language":"en","primary_location":{"id":"doi:10.1145/3350755.3400216","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3350755.3400216","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","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/A5016223623","display_name":"Zhixiang Gu","orcid":null},"institutions":[{"id":"https://openalex.org/I4210114444","display_name":"Meta (United States)","ror":"https://ror.org/01zbnvs85","country_code":"US","type":"company","lineage":["https://openalex.org/I4210114444"]},{"id":"https://openalex.org/I4210119109","display_name":"Indiana University Bloomington","ror":"https://ror.org/02k40bc56","country_code":"US","type":"education","lineage":["https://openalex.org/I4210119109","https://openalex.org/I592451"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Zhixiang Gu","raw_affiliation_strings":["Indiana University Bloomington &amp; #38; Facebook Inc., Bloomington, IN, USA","Indiana University Bloomington & #38"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Indiana University Bloomington &amp; #38; Facebook Inc., Bloomington, IN, USA","institution_ids":["https://openalex.org/I4210114444","https://openalex.org/I4210119109"]},{"raw_affiliation_string":"Indiana University Bloomington & #38","institution_ids":["https://openalex.org/I4210119109"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5055326969","display_name":"Jos\u00e9 E. Moreira","orcid":"https://orcid.org/0000-0001-7029-6327"},"institutions":[{"id":"https://openalex.org/I1341412227","display_name":"IBM (United States)","ror":"https://ror.org/05hh8d621","country_code":"US","type":"company","lineage":["https://openalex.org/I1341412227"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jose Moreira","raw_affiliation_strings":["IBM Corporation, New York, NY, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Corporation, New York, NY, USA","institution_ids":["https://openalex.org/I1341412227"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5069474892","display_name":"David Edelsohn","orcid":"https://orcid.org/0009-0006-9637-9781"},"institutions":[{"id":"https://openalex.org/I1341412227","display_name":"IBM (United States)","ror":"https://ror.org/05hh8d621","country_code":"US","type":"company","lineage":["https://openalex.org/I1341412227"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"David Edelsohn","raw_affiliation_strings":["IBM Corporation, New York, NY, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"IBM Corporation, New York, NY, USA","institution_ids":["https://openalex.org/I1341412227"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5013984574","display_name":"Ariful Azad","orcid":"https://orcid.org/0000-0003-1332-8630"},"institutions":[{"id":"https://openalex.org/I4210119109","display_name":"Indiana University Bloomington","ror":"https://ror.org/02k40bc56","country_code":"US","type":"education","lineage":["https://openalex.org/I4210119109","https://openalex.org/I592451"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ariful Azad","raw_affiliation_strings":["Indiana University Bloomington, Bloomington, IN, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Indiana University Bloomington, Bloomington, IN, USA","institution_ids":["https://openalex.org/I4210119109"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":29,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"293","last_page":"303"},"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.9994999766349792,"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/T10829","display_name":"Interconnection Networks and Systems","score":0.9984999895095825,"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.7634367346763611},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6383259296417236},{"id":"https://openalex.org/keywords/matrix-multiplication","display_name":"Matrix multiplication","score":0.6229970455169678},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.6138735413551331},{"id":"https://openalex.org/keywords/heap","display_name":"Heap (data structure)","score":0.5575778484344482},{"id":"https://openalex.org/keywords/sparse-matrix","display_name":"Sparse matrix","score":0.5559574961662292},{"id":"https://openalex.org/keywords/blocking","display_name":"Blocking (statistics)","score":0.541831910610199},{"id":"https://openalex.org/keywords/hash-function","display_name":"Hash function","score":0.534648597240448},{"id":"https://openalex.org/keywords/memory-bandwidth","display_name":"Memory bandwidth","score":0.5329288840293884},{"id":"https://openalex.org/keywords/bandwidth","display_name":"Bandwidth (computing)","score":0.5206329226493835},{"id":"https://openalex.org/keywords/upper-and-lower-bounds","display_name":"Upper and lower bounds","score":0.4696684777736664},{"id":"https://openalex.org/keywords/sorting","display_name":"Sorting","score":0.4416532516479492},{"id":"https://openalex.org/keywords/matrix","display_name":"Matrix (chemical analysis)","score":0.418856143951416},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.15064850449562073}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7634367346763611},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6383259296417236},{"id":"https://openalex.org/C17349429","wikidata":"https://www.wikidata.org/wiki/Q1049914","display_name":"Matrix multiplication","level":3,"score":0.6229970455169678},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.6138735413551331},{"id":"https://openalex.org/C134757568","wikidata":"https://www.wikidata.org/wiki/Q274089","display_name":"Heap (data structure)","level":2,"score":0.5575778484344482},{"id":"https://openalex.org/C56372850","wikidata":"https://www.wikidata.org/wiki/Q1050404","display_name":"Sparse matrix","level":3,"score":0.5559574961662292},{"id":"https://openalex.org/C144745244","wikidata":"https://www.wikidata.org/wiki/Q4927286","display_name":"Blocking (statistics)","level":2,"score":0.541831910610199},{"id":"https://openalex.org/C99138194","wikidata":"https://www.wikidata.org/wiki/Q183427","display_name":"Hash function","level":2,"score":0.534648597240448},{"id":"https://openalex.org/C188045654","wikidata":"https://www.wikidata.org/wiki/Q17148339","display_name":"Memory bandwidth","level":2,"score":0.5329288840293884},{"id":"https://openalex.org/C2776257435","wikidata":"https://www.wikidata.org/wiki/Q1576430","display_name":"Bandwidth (computing)","level":2,"score":0.5206329226493835},{"id":"https://openalex.org/C77553402","wikidata":"https://www.wikidata.org/wiki/Q13222579","display_name":"Upper and lower bounds","level":2,"score":0.4696684777736664},{"id":"https://openalex.org/C111696304","wikidata":"https://www.wikidata.org/wiki/Q2303697","display_name":"Sorting","level":2,"score":0.4416532516479492},{"id":"https://openalex.org/C106487976","wikidata":"https://www.wikidata.org/wiki/Q685816","display_name":"Matrix (chemical analysis)","level":2,"score":0.418856143951416},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.15064850449562073},{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"score":0.0},{"id":"https://openalex.org/C159985019","wikidata":"https://www.wikidata.org/wiki/Q181790","display_name":"Composite material","level":1,"score":0.0},{"id":"https://openalex.org/C62520636","wikidata":"https://www.wikidata.org/wiki/Q944","display_name":"Quantum mechanics","level":1,"score":0.0},{"id":"https://openalex.org/C84114770","wikidata":"https://www.wikidata.org/wiki/Q46344","display_name":"Quantum","level":2,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C163716315","wikidata":"https://www.wikidata.org/wiki/Q901177","display_name":"Gaussian","level":2,"score":0.0},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3350755.3400216","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3350755.3400216","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 32nd ACM Symposium on Parallelism in Algorithms and Architectures","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"score":0.4099999964237213,"display_name":"Industry, innovation and infrastructure","id":"https://metadata.un.org/sdg/9"}],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":29,"referenced_works":["https://openalex.org/W784772322","https://openalex.org/W1515144947","https://openalex.org/W1665157575","https://openalex.org/W1980282429","https://openalex.org/W1985263109","https://openalex.org/W2002555321","https://openalex.org/W2007259720","https://openalex.org/W2010370862","https://openalex.org/W2022219663","https://openalex.org/W2035080386","https://openalex.org/W2089437293","https://openalex.org/W2093825995","https://openalex.org/W2134237243","https://openalex.org/W2139316564","https://openalex.org/W2157718155","https://openalex.org/W2235832317","https://openalex.org/W2410432900","https://openalex.org/W2483136543","https://openalex.org/W2727953781","https://openalex.org/W2730999914","https://openalex.org/W2751658790","https://openalex.org/W2781869913","https://openalex.org/W2794952988","https://openalex.org/W2908198074","https://openalex.org/W2922815438","https://openalex.org/W2970435804","https://openalex.org/W3099346841","https://openalex.org/W3105937213","https://openalex.org/W6755635308"],"related_works":["https://openalex.org/W2293771254","https://openalex.org/W3121828480","https://openalex.org/W2039875226","https://openalex.org/W4221142455","https://openalex.org/W2914631005","https://openalex.org/W2123154672","https://openalex.org/W2032786851","https://openalex.org/W2952630098","https://openalex.org/W3132517792","https://openalex.org/W4285148873"],"abstract_inverted_index":{"Sparse":[0],"matrix-matrix":[1],"multiplication":[2],"(SpGEMM)":[3],"is":[4,19,24,32],"a":[5,25],"widely":[6],"used":[7],"kernel":[8],"in":[9,51],"various":[10],"graph,":[11],"scientific":[12],"computing":[13],"and":[14,28,72,76,108,113,127,145,155],"machine":[15],"learning":[16],"algorithms.":[17],"It":[18],"well":[20],"known":[21],"that":[22],"SpGEMM":[23,64,80,86,129],"memory-bound":[26],"operation,":[27],"its":[29,146],"peak":[30],"performance":[31,53,139,147],"expected":[33],"to":[34,45,152],"be":[35],"bound":[36],"by":[37,102,109,141],"the":[38,47,55,90,104,124,142],"memory":[39,48,69,100],"bandwidth.":[40],"Yet,":[41],"existing":[42,63],"algorithms":[43,65,130],"fail":[44],"saturate":[46],"bandwidth,":[49],"resulting":[50],"suboptimal":[52],"under":[54],"Roofline":[56,143],"model.":[57],"In":[58],"this":[59],"paper,":[60],"we":[61],"characterize":[62],"based":[66,88],"on":[67,89,131],"their":[68],"access":[70],"patterns":[71],"develop":[73,84],"practical":[74,117],"lower":[75],"upper":[77],"bounds":[78],"for":[79],"performance.":[81],"We":[82],"then":[83],"an":[85],"algorithm":[87,96],"outer":[91],"product.":[92],"The":[93],"newly":[94],"developed":[95],"called":[97],"PB-SpGEMM":[98,119,137],"saturates":[99],"bandwidth":[101],"using":[103],"propagation":[105],"blocking":[106],"technique":[107],"performing":[110],"in-cache":[111],"sorting":[112],"merging.":[114],"For":[115],"many":[116],"matrices,":[118],"runs":[120],"20%-50%":[121],"faster":[122],"than":[123],"state-of-the-art":[125],"heap":[126],"hash":[128],"modern":[132],"multicore":[133],"processors.":[134],"Most":[135],"importantly,":[136],"attains":[138],"predicted":[140],"model,":[144],"remains":[148],"stable":[149],"with":[150],"respect":[151],"matrix":[153],"size":[154],"sparsity.":[156]},"counts_by_year":[{"year":2025,"cited_by_count":4},{"year":2024,"cited_by_count":8},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":8},{"year":2021,"cited_by_count":6}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
