{"id":"https://openalex.org/W4255450819","doi":"https://doi.org/10.1109/cgo.2019.8661185","title":"Tensor Algebra Compilation with Workspaces","display_name":"Tensor Algebra Compilation with Workspaces","publication_year":2019,"publication_date":"2019-02-01","ids":{"openalex":"https://openalex.org/W4255450819","doi":"https://doi.org/10.1109/cgo.2019.8661185"},"language":"en","primary_location":{"id":"doi:10.1109/cgo.2019.8661185","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2019.8661185","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","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/A5041886781","display_name":"Fredrik Kj\u00f8lstad","orcid":"https://orcid.org/0000-0002-2267-903X"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Fredrik Kjolstad","raw_affiliation_strings":["MIT, USA"],"affiliations":[{"raw_affiliation_string":"MIT, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5060063626","display_name":"Willow Ahrens","orcid":"https://orcid.org/0000-0002-4963-0869"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Willow Ahrens","raw_affiliation_strings":["MIT, USA"],"affiliations":[{"raw_affiliation_string":"MIT, USA","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5039453861","display_name":"Shoaib Kamil","orcid":"https://orcid.org/0000-0001-5965-3717"},"institutions":[{"id":"https://openalex.org/I1306409833","display_name":"Adobe Systems (United States)","ror":"https://ror.org/059tvcg64","country_code":"US","type":"company","lineage":["https://openalex.org/I1306409833"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Shoaib Kamil","raw_affiliation_strings":["Adobe Research, USA"],"affiliations":[{"raw_affiliation_string":"Adobe Research, USA","institution_ids":["https://openalex.org/I1306409833"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5046791216","display_name":"Saman Amarasinghe","orcid":"https://orcid.org/0000-0002-7231-7643"},"institutions":[{"id":"https://openalex.org/I1306409833","display_name":"Adobe Systems (United States)","ror":"https://ror.org/059tvcg64","country_code":"US","type":"company","lineage":["https://openalex.org/I1306409833"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Saman Amarasinghe","raw_affiliation_strings":["Adobe Research, USA"],"affiliations":[{"raw_affiliation_string":"Adobe Research, USA","institution_ids":["https://openalex.org/I1306409833"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":["https://openalex.org/A5041886781"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":4.8153,"has_fulltext":false,"cited_by_count":50,"citation_normalized_percentile":{"value":0.95982259,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":98,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"180","last_page":"192"},"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/T12303","display_name":"Tensor decomposition and applications","score":0.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/2605","display_name":"Computational Mathematics"},"field":{"id":"https://openalex.org/fields/26","display_name":"Mathematics"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12326","display_name":"Network Packet Processing and Optimization","score":0.9794999957084656,"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/tensor","display_name":"Tensor (intrinsic definition)","score":0.7188538908958435},{"id":"https://openalex.org/keywords/tensor-algebra","display_name":"Tensor algebra","score":0.685943067073822},{"id":"https://openalex.org/keywords/sparse-matrix","display_name":"Sparse matrix","score":0.6260558366775513},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.6183522343635559},{"id":"https://openalex.org/keywords/matrix-multiplication","display_name":"Matrix multiplication","score":0.5950438380241394},{"id":"https://openalex.org/keywords/workspace","display_name":"Workspace","score":0.5581120252609253},{"id":"https://openalex.org/keywords/transformation","display_name":"Transformation (genetics)","score":0.5566558837890625},{"id":"https://openalex.org/keywords/multiplication","display_name":"Multiplication (music)","score":0.5164632797241211},{"id":"https://openalex.org/keywords/tensor-product","display_name":"Tensor product","score":0.4983961582183838},{"id":"https://openalex.org/keywords/algebra-over-a-field","display_name":"Algebra over a field","score":0.4974670708179474},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.4853295385837555},{"id":"https://openalex.org/keywords/linear-algebra","display_name":"Linear algebra","score":0.4465913474559784},{"id":"https://openalex.org/keywords/matrix","display_name":"Matrix (chemical analysis)","score":0.42636731266975403},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.3903964161872864},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3242255747318268},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.25076282024383545},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.18576422333717346},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.14988744258880615},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.13786879181861877},{"id":"https://openalex.org/keywords/algebra-representation","display_name":"Algebra representation","score":0.08523774147033691},{"id":"https://openalex.org/keywords/combinatorics","display_name":"Combinatorics","score":0.0714733898639679},{"id":"https://openalex.org/keywords/geometry","display_name":"Geometry","score":0.06286570429801941}],"concepts":[{"id":"https://openalex.org/C155281189","wikidata":"https://www.wikidata.org/wiki/Q3518150","display_name":"Tensor (intrinsic definition)","level":2,"score":0.7188538908958435},{"id":"https://openalex.org/C1680195","wikidata":"https://www.wikidata.org/wiki/Q2296021","display_name":"Tensor algebra","level":5,"score":0.685943067073822},{"id":"https://openalex.org/C56372850","wikidata":"https://www.wikidata.org/wiki/Q1050404","display_name":"Sparse matrix","level":3,"score":0.6260558366775513},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.6183522343635559},{"id":"https://openalex.org/C17349429","wikidata":"https://www.wikidata.org/wiki/Q1049914","display_name":"Matrix multiplication","level":3,"score":0.5950438380241394},{"id":"https://openalex.org/C58581272","wikidata":"https://www.wikidata.org/wiki/Q12741163","display_name":"Workspace","level":3,"score":0.5581120252609253},{"id":"https://openalex.org/C204241405","wikidata":"https://www.wikidata.org/wiki/Q461499","display_name":"Transformation (genetics)","level":3,"score":0.5566558837890625},{"id":"https://openalex.org/C2780595030","wikidata":"https://www.wikidata.org/wiki/Q3860309","display_name":"Multiplication (music)","level":2,"score":0.5164632797241211},{"id":"https://openalex.org/C51255310","wikidata":"https://www.wikidata.org/wiki/Q1163016","display_name":"Tensor product","level":2,"score":0.4983961582183838},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.4974670708179474},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.4853295385837555},{"id":"https://openalex.org/C139352143","wikidata":"https://www.wikidata.org/wiki/Q82571","display_name":"Linear algebra","level":2,"score":0.4465913474559784},{"id":"https://openalex.org/C106487976","wikidata":"https://www.wikidata.org/wiki/Q685816","display_name":"Matrix (chemical analysis)","level":2,"score":0.42636731266975403},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.3903964161872864},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3242255747318268},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.25076282024383545},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.18576422333717346},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.14988744258880615},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.13786879181861877},{"id":"https://openalex.org/C14394260","wikidata":"https://www.wikidata.org/wiki/Q4723980","display_name":"Algebra representation","level":3,"score":0.08523774147033691},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0714733898639679},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.06286570429801941},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"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/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C90509273","wikidata":"https://www.wikidata.org/wiki/Q11012","display_name":"Robot","level":2,"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/C84114770","wikidata":"https://www.wikidata.org/wiki/Q46344","display_name":"Quantum","level":2,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C100376341","wikidata":"https://www.wikidata.org/wiki/Q649977","display_name":"Jordan algebra","level":4,"score":0.0},{"id":"https://openalex.org/C159985019","wikidata":"https://www.wikidata.org/wiki/Q181790","display_name":"Composite material","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/cgo.2019.8661185","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo.2019.8661185","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2019 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320322725","display_name":"China Scholarship Council","ror":"https://ror.org/04atp4p48"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":44,"referenced_works":["https://openalex.org/W174362361","https://openalex.org/W784772322","https://openalex.org/W1511885491","https://openalex.org/W1518969538","https://openalex.org/W1536051636","https://openalex.org/W1538707437","https://openalex.org/W1573728792","https://openalex.org/W1825959699","https://openalex.org/W1845782057","https://openalex.org/W1983467829","https://openalex.org/W1989988531","https://openalex.org/W1993274656","https://openalex.org/W2006973305","https://openalex.org/W2007259720","https://openalex.org/W2024165284","https://openalex.org/W2030699645","https://openalex.org/W2035080386","https://openalex.org/W2049487370","https://openalex.org/W2054658678","https://openalex.org/W2082533328","https://openalex.org/W2089437293","https://openalex.org/W2108315152","https://openalex.org/W2111448058","https://openalex.org/W2126004407","https://openalex.org/W2258054274","https://openalex.org/W2590246587","https://openalex.org/W2731053425","https://openalex.org/W2753916251","https://openalex.org/W2761619692","https://openalex.org/W2767274246","https://openalex.org/W2786320458","https://openalex.org/W2898106867","https://openalex.org/W2898123186","https://openalex.org/W3121402054","https://openalex.org/W4238486123","https://openalex.org/W4239552902","https://openalex.org/W4252345548","https://openalex.org/W4256588782","https://openalex.org/W4300534872","https://openalex.org/W6607087128","https://openalex.org/W6631783819","https://openalex.org/W6638909124","https://openalex.org/W6692170954","https://openalex.org/W6748324931"],"related_works":["https://openalex.org/W2293771254","https://openalex.org/W1835670156","https://openalex.org/W4221142455","https://openalex.org/W1520294426","https://openalex.org/W3121828480","https://openalex.org/W3147497457","https://openalex.org/W3121314575","https://openalex.org/W2914631005","https://openalex.org/W2032786851","https://openalex.org/W4381050447"],"abstract_inverted_index":{"This":[0],"paper":[1],"shows":[2],"how":[3,55,61,72],"to":[4,10,16,56,66,78,129],"extend":[5],"sparse":[6,19,67,80,84,87,134,140],"tensor":[7,30,81,88,93,149],"algebra":[8,150],"compilers":[9],"introduce":[11],"temporary":[12],"tensors":[13],"called":[14,32],"workspaces":[15],"avoid":[17],"inefficient":[18],"data":[20],"structures":[21],"accesses.":[22],"We":[23,46],"develop":[24],"an":[25],"intermediate":[26],"representation":[27],"(IR)":[28],"for":[29],"operations":[31],"concrete":[33],"index":[34],"notation":[35],"that":[36,101],"specifies":[37],"when":[38],"sub-computations":[39],"occur":[40],"and":[41,60,90,131,137],"where":[42],"they":[43],"are":[44],"stored.":[45],"then":[47],"describe":[48],"the":[49,62,73,91,102,106,120],"workspace":[50,103],"transformation":[51,74,104],"in":[52],"this":[53],"IR,":[54],"programmatically":[57],"invoke":[58],"it,":[59],"IR":[63],"is":[64],"compiled":[65],"code.":[68],"Finally,":[69],"we":[70,118],"show":[71,100],"can":[75],"be":[76],"used":[77],"optimize":[79],"kernels,":[82],"including":[83],"matrix":[85,135],"multiplication,":[86],"addition,":[89],"matricized":[92],"times":[94],"Khatri-Rao":[95],"product":[96],"(MTTKRP).":[97],"Our":[98],"results":[99],"brings":[105],"performance":[107,121],"of":[108,122,143],"these":[109],"kernels":[110],"on":[111],"par":[112],"with":[113,124,139],"hand-optimized":[114],"implementations.":[115],"For":[116],"example,":[117],"improve":[119],"MTTKRP":[123,138],"dense":[125],"output":[126],"by":[127,147],"up":[128],"35%,":[130],"enable":[132],"generating":[133],"multiplication":[136],"output,":[141],"neither":[142],"which":[144],"were":[145],"supported":[146],"prior":[148],"compilers.":[151]},"counts_by_year":[{"year":2026,"cited_by_count":3},{"year":2025,"cited_by_count":6},{"year":2024,"cited_by_count":11},{"year":2023,"cited_by_count":10},{"year":2022,"cited_by_count":8},{"year":2021,"cited_by_count":6},{"year":2020,"cited_by_count":6}],"updated_date":"2026-02-25T08:12:03.925757","created_date":"2025-10-10T00:00:00"}
