{"id":"https://openalex.org/W2291372353","doi":"https://doi.org/10.1145/2854038.2854060","title":"A basic linear algebra compiler for structured matrices","display_name":"A basic linear algebra compiler for structured matrices","publication_year":2016,"publication_date":"2016-02-29","ids":{"openalex":"https://openalex.org/W2291372353","doi":"https://doi.org/10.1145/2854038.2854060","mag":"2291372353"},"language":"en","primary_location":{"id":"doi:10.1145/2854038.2854060","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2854038.2854060","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2016 International Symposium on Code Generation and Optimization","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/A5003670221","display_name":"Daniele G. Spampinato","orcid":"https://orcid.org/0000-0003-1411-7069"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Daniele G. Spampinato","raw_affiliation_strings":["ETH Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5076407181","display_name":"Markus P\u00fcschel","orcid":"https://orcid.org/0000-0001-8834-8551"},"institutions":[{"id":"https://openalex.org/I35440088","display_name":"ETH Zurich","ror":"https://ror.org/05a28rw58","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I35440088"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Markus P\u00fcschel","raw_affiliation_strings":["ETH Zurich, Switzerland"],"affiliations":[{"raw_affiliation_string":"ETH Zurich, Switzerland","institution_ids":["https://openalex.org/I35440088"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5003670221"],"corresponding_institution_ids":["https://openalex.org/I35440088"],"apc_list":null,"apc_paid":null,"fwci":7.8834,"has_fulltext":false,"cited_by_count":36,"citation_normalized_percentile":{"value":0.98034606,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"117","last_page":"127"},"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/T10792","display_name":"Matrix Theory and Algorithms","score":0.9993000030517578,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9968000054359436,"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/compiler","display_name":"Compiler","score":0.7976014614105225},{"id":"https://openalex.org/keywords/linear-algebra","display_name":"Linear algebra","score":0.7844409942626953},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7277251482009888},{"id":"https://openalex.org/keywords/intrinsics","display_name":"Intrinsics","score":0.6606802940368652},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.5445322394371033},{"id":"https://openalex.org/keywords/subroutine","display_name":"Subroutine","score":0.5066088438034058},{"id":"https://openalex.org/keywords/matrix","display_name":"Matrix (chemical analysis)","score":0.49393540620803833},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.49142253398895264},{"id":"https://openalex.org/keywords/algebra-over-a-field","display_name":"Algebra over a field","score":0.44484007358551025},{"id":"https://openalex.org/keywords/numerical-linear-algebra","display_name":"Numerical linear algebra","score":0.43226373195648193},{"id":"https://openalex.org/keywords/sparse-matrix","display_name":"Sparse matrix","score":0.4206395745277405},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.417802631855011},{"id":"https://openalex.org/keywords/matrix-multiplication","display_name":"Matrix multiplication","score":0.4176664352416992},{"id":"https://openalex.org/keywords/linear-system","display_name":"Linear system","score":0.4148569703102112},{"id":"https://openalex.org/keywords/computational-science","display_name":"Computational science","score":0.3715057671070099},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.31114819645881653},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.19235926866531372},{"id":"https://openalex.org/keywords/geometry","display_name":"Geometry","score":0.0710015594959259}],"concepts":[{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7976014614105225},{"id":"https://openalex.org/C139352143","wikidata":"https://www.wikidata.org/wiki/Q82571","display_name":"Linear algebra","level":2,"score":0.7844409942626953},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7277251482009888},{"id":"https://openalex.org/C2908650547","wikidata":"https://www.wikidata.org/wiki/Q20999234","display_name":"Intrinsics","level":2,"score":0.6606802940368652},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.5445322394371033},{"id":"https://openalex.org/C96147967","wikidata":"https://www.wikidata.org/wiki/Q190686","display_name":"Subroutine","level":2,"score":0.5066088438034058},{"id":"https://openalex.org/C106487976","wikidata":"https://www.wikidata.org/wiki/Q685816","display_name":"Matrix (chemical analysis)","level":2,"score":0.49393540620803833},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.49142253398895264},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.44484007358551025},{"id":"https://openalex.org/C163834973","wikidata":"https://www.wikidata.org/wiki/Q2004891","display_name":"Numerical linear algebra","level":3,"score":0.43226373195648193},{"id":"https://openalex.org/C56372850","wikidata":"https://www.wikidata.org/wiki/Q1050404","display_name":"Sparse matrix","level":3,"score":0.4206395745277405},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.417802631855011},{"id":"https://openalex.org/C17349429","wikidata":"https://www.wikidata.org/wiki/Q1049914","display_name":"Matrix multiplication","level":3,"score":0.4176664352416992},{"id":"https://openalex.org/C6802819","wikidata":"https://www.wikidata.org/wiki/Q1072174","display_name":"Linear system","level":2,"score":0.4148569703102112},{"id":"https://openalex.org/C459310","wikidata":"https://www.wikidata.org/wiki/Q117801","display_name":"Computational science","level":1,"score":0.3715057671070099},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.31114819645881653},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.19235926866531372},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0710015594959259},{"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},{"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/C163716315","wikidata":"https://www.wikidata.org/wiki/Q901177","display_name":"Gaussian","level":2,"score":0.0},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"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}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/2854038.2854060","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2854038.2854060","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2016 International Symposium on Code Generation and Optimization","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":26,"referenced_works":["https://openalex.org/W52863793","https://openalex.org/W182691100","https://openalex.org/W288065879","https://openalex.org/W792096099","https://openalex.org/W1480928214","https://openalex.org/W1528855243","https://openalex.org/W1558370006","https://openalex.org/W1938177223","https://openalex.org/W1993445765","https://openalex.org/W2002257715","https://openalex.org/W2034761517","https://openalex.org/W2039227678","https://openalex.org/W2047656763","https://openalex.org/W2050090934","https://openalex.org/W2073061372","https://openalex.org/W2084379367","https://openalex.org/W2099059741","https://openalex.org/W2102976251","https://openalex.org/W2126464777","https://openalex.org/W2136952590","https://openalex.org/W2165706001","https://openalex.org/W2187980931","https://openalex.org/W2252007067","https://openalex.org/W2593864877","https://openalex.org/W3203568064","https://openalex.org/W4233358870"],"related_works":["https://openalex.org/W3163773192","https://openalex.org/W2522245970","https://openalex.org/W4205760564","https://openalex.org/W2500257945","https://openalex.org/W278443433","https://openalex.org/W2007578977","https://openalex.org/W2021525945","https://openalex.org/W2061048205","https://openalex.org/W1495480229","https://openalex.org/W4225552076"],"abstract_inverted_index":{"Many":[0],"problems":[1,53],"in":[2,7],"science":[3],"and":[4,10,51,109,171,200,211],"engineering":[5],"are":[6,43],"practice":[8],"modeled":[9],"solved":[11,44],"through":[12],"matrix":[13,76,162],"computations.":[14],"Often,":[15],"the":[16,28,34,104,107,150,165,175,196],"matrices":[17,56,135,173],"involved":[18],"have":[19],"structure":[20,97,108],"such":[21],"as":[22],"symmetric":[23,172],"or":[24,96],"triangular,":[25],"which":[26],"reduces":[27],"operations":[29],"count":[30],"needed":[31],"to":[32,48,79,159,179],"perform":[33],"computation.":[35],"For":[36],"example,":[37],"dense":[38],"linear":[39,66,130],"systems":[40],"of":[41,60,74,84,106],"equations":[42],"by":[45,121],"first":[46],"converting":[47],"triangular":[49,170],"form":[50],"optimization":[52],"may":[54],"yield":[55],"with":[57,142,154],"any":[58],"kind":[59],"structure.":[61],"The":[62],"well-known":[63],"BLAS":[64,210],"(basic":[65],"algebra":[67,131],"subroutine)":[68],"interface":[69],"provides":[70],"a":[71,81,91,94,111,123,127,180,191,201],"small":[72],"set":[73,83,183],"structured":[75,134],"computations,":[77],"chosen":[78],"serve":[80],"certain":[82],"higher":[85],"level":[86],"functions":[87],"(LAPACK).":[88],"However,":[89],"if":[90],"user":[92],"encounters":[93],"computation":[95,132],"that":[98,125],"is":[99,177],"not":[100],"supported,":[101],"she":[102],"loses":[103],"benefits":[105],"chooses":[110],"generic":[112],"library.":[113],"In":[114,164],"this":[115,119],"paper,":[116],"we":[117,167],"address":[118],"problem":[120],"providing":[122],"compiler":[124,153],"translates":[126],"given":[128],"basic":[129],"on":[133,149,190],"into":[136],"optimized":[137],"C":[138],"code,":[139],"optionally":[140],"vectorized":[141],"intrinsics.":[143],"Our":[144],"work":[145,148],"combines":[146],"prior":[147],"Spiral-like":[151],"LGen":[152],"techniques":[155],"from":[156],"polyhedral":[157],"compilation":[158],"mathematically":[160],"capture":[161],"structures.":[163,186],"paper":[166],"consider":[168],"upper/lower":[169],"but":[174],"approach":[176],"extensible":[178],"much":[181],"larger":[182],"including":[184],"blocked":[185],"We":[187],"run":[188],"experiments":[189],"modern":[192],"Intel":[193,197],"platform":[194],"against":[195],"MKL":[198],"library":[199],"baseline":[202],"implementation":[203],"showing":[204],"competitive":[205],"performance":[206],"results":[207],"for":[208],"both":[209],"non-BLAS":[212],"functionalities.":[213]},"counts_by_year":[{"year":2025,"cited_by_count":3},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":3},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":11},{"year":2018,"cited_by_count":10},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":1}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
