{"id":"https://openalex.org/W4392265981","doi":"https://doi.org/10.1109/cgo57630.2024.10444883","title":"Tackling the Matrix Multiplication Micro-Kernel Generation with Exo","display_name":"Tackling the Matrix Multiplication Micro-Kernel Generation with Exo","publication_year":2024,"publication_date":"2024-02-28","ids":{"openalex":"https://openalex.org/W4392265981","doi":"https://doi.org/10.1109/cgo57630.2024.10444883"},"language":"en","primary_location":{"id":"doi:10.1109/cgo57630.2024.10444883","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo57630.2024.10444883","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://riunet.upv.es/bitstreams/59bf8bb3-5882-4a01-93d4-478366e92e4e/download","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5033947083","display_name":"Adri\u00e1n Castell\u00f3","orcid":"https://orcid.org/0000-0002-8576-8451"},"institutions":[{"id":"https://openalex.org/I9617848","display_name":"Universitat Polit\u00e8cnica de Catalunya","ror":"https://ror.org/03mb6wj31","country_code":"ES","type":"education","lineage":["https://openalex.org/I9617848"]}],"countries":["ES"],"is_corresponding":true,"raw_author_name":"Adri\u00e1n Castell\u00f3","raw_affiliation_strings":["Universitat Polit&#x00E8;cnica de Val&#x00E8;ncia,Spain"],"affiliations":[{"raw_affiliation_string":"Universitat Polit&#x00E8;cnica de Val&#x00E8;ncia,Spain","institution_ids":["https://openalex.org/I9617848"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5062995565","display_name":"Julian Bellavita","orcid":"https://orcid.org/0000-0003-1375-5720"},"institutions":[{"id":"https://openalex.org/I205783295","display_name":"Cornell University","ror":"https://ror.org/05bnh6r87","country_code":"US","type":"education","lineage":["https://openalex.org/I205783295"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Julian Bellavita","raw_affiliation_strings":["Cornell University,USA","Cornell University, USA"],"affiliations":[{"raw_affiliation_string":"Cornell University,USA","institution_ids":["https://openalex.org/I205783295"]},{"raw_affiliation_string":"Cornell University, USA","institution_ids":["https://openalex.org/I205783295"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5055472408","display_name":"Grace Dinh","orcid":"https://orcid.org/0000-0001-9626-098X"},"institutions":[{"id":"https://openalex.org/I134446601","display_name":"Berkeley College","ror":"https://ror.org/02xewxa75","country_code":"US","type":"education","lineage":["https://openalex.org/I134446601"]},{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Grace Dinh","raw_affiliation_strings":["UC Berkeley,USA","UC Berkeley, USA"],"affiliations":[{"raw_affiliation_string":"UC Berkeley,USA","institution_ids":["https://openalex.org/I134446601","https://openalex.org/I95457486"]},{"raw_affiliation_string":"UC Berkeley, USA","institution_ids":["https://openalex.org/I134446601","https://openalex.org/I95457486"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5056230848","display_name":"Yuka Ikarashi","orcid":"https://orcid.org/0000-0001-5255-0918"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Yuka Ikarashi","raw_affiliation_strings":["MIT CSAIL,USA","MIT CSAIL, USA"],"affiliations":[{"raw_affiliation_string":"MIT CSAIL,USA","institution_ids":[]},{"raw_affiliation_string":"MIT CSAIL, USA","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5018719028","display_name":"H\u00e8ctor Mart\u00ednez","orcid":"https://orcid.org/0000-0001-5891-4479"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"H\u00e9ctor Mart\u00ednez","raw_affiliation_strings":["Universidad de C&#x00F3;rdoba,Spain"],"affiliations":[{"raw_affiliation_string":"Universidad de C&#x00F3;rdoba,Spain","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":5,"corresponding_author_ids":["https://openalex.org/A5033947083"],"corresponding_institution_ids":["https://openalex.org/I9617848"],"apc_list":null,"apc_paid":null,"fwci":4.3419,"has_fulltext":true,"cited_by_count":9,"citation_normalized_percentile":{"value":0.95293239,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"182","last_page":"193"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":1.0,"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":1.0,"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.9943000078201294,"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/T11697","display_name":"Numerical Methods and Algorithms","score":0.9926999807357788,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/operand","display_name":"Operand","score":0.8339737057685852},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8120770454406738},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7266666293144226},{"id":"https://openalex.org/keywords/software-portability","display_name":"Software portability","score":0.7168804407119751},{"id":"https://openalex.org/keywords/kernel","display_name":"Kernel (algebra)","score":0.6961570382118225},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.6373480558395386},{"id":"https://openalex.org/keywords/matrix-multiplication","display_name":"Matrix multiplication","score":0.5725517272949219},{"id":"https://openalex.org/keywords/linear-algebra","display_name":"Linear algebra","score":0.5227063894271851},{"id":"https://openalex.org/keywords/assembly-language","display_name":"Assembly language","score":0.49997425079345703},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.444538414478302},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.44412752985954285},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.44145455956459045},{"id":"https://openalex.org/keywords/variety","display_name":"Variety (cybernetics)","score":0.43669548630714417},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3566105365753174},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.3262324631214142},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.2227013111114502},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.15793296694755554},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.15026769042015076},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.08545452356338501}],"concepts":[{"id":"https://openalex.org/C55526617","wikidata":"https://www.wikidata.org/wiki/Q719375","display_name":"Operand","level":2,"score":0.8339737057685852},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8120770454406738},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7266666293144226},{"id":"https://openalex.org/C63000827","wikidata":"https://www.wikidata.org/wiki/Q3080428","display_name":"Software portability","level":2,"score":0.7168804407119751},{"id":"https://openalex.org/C74193536","wikidata":"https://www.wikidata.org/wiki/Q574844","display_name":"Kernel (algebra)","level":2,"score":0.6961570382118225},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.6373480558395386},{"id":"https://openalex.org/C17349429","wikidata":"https://www.wikidata.org/wiki/Q1049914","display_name":"Matrix multiplication","level":3,"score":0.5725517272949219},{"id":"https://openalex.org/C139352143","wikidata":"https://www.wikidata.org/wiki/Q82571","display_name":"Linear algebra","level":2,"score":0.5227063894271851},{"id":"https://openalex.org/C50831359","wikidata":"https://www.wikidata.org/wiki/Q165436","display_name":"Assembly language","level":3,"score":0.49997425079345703},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.444538414478302},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.44412752985954285},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.44145455956459045},{"id":"https://openalex.org/C136197465","wikidata":"https://www.wikidata.org/wiki/Q1729295","display_name":"Variety (cybernetics)","level":2,"score":0.43669548630714417},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3566105365753174},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.3262324631214142},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.2227013111114502},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.15793296694755554},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.15026769042015076},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.08545452356338501},{"id":"https://openalex.org/C84114770","wikidata":"https://www.wikidata.org/wiki/Q46344","display_name":"Quantum","level":2,"score":0.0},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C114614502","wikidata":"https://www.wikidata.org/wiki/Q76592","display_name":"Combinatorics","level":1,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"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/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","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}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/cgo57630.2024.10444883","is_oa":false,"landing_page_url":"https://doi.org/10.1109/cgo57630.2024.10444883","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2024 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)","raw_type":"proceedings-article"},{"id":"pmh:oai:riunet.upv.es:10251/231228","is_oa":true,"landing_page_url":"https://riunet.upv.es/handle/10251/231228","pdf_url":"https://riunet.upv.es/bitstreams/59bf8bb3-5882-4a01-93d4-478366e92e4e/download","source":{"id":"https://openalex.org/S4306400639","display_name":"RiuNet (Universitat Polit\u00e8cnica de Val\u00e8ncia)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I60053951","host_organization_name":"Universitat Polit\u00e8cnica de Val\u00e8ncia","host_organization_lineage":["https://openalex.org/I60053951"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"pmh:oai:riunet.upv.es:10251/231228","is_oa":true,"landing_page_url":"https://riunet.upv.es/handle/10251/231228","pdf_url":"https://riunet.upv.es/bitstreams/59bf8bb3-5882-4a01-93d4-478366e92e4e/download","source":{"id":"https://openalex.org/S4306400639","display_name":"RiuNet (Universitat Polit\u00e8cnica de Val\u00e8ncia)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I60053951","host_organization_name":"Universitat Polit\u00e8cnica de Val\u00e8ncia","host_organization_lineage":["https://openalex.org/I60053951"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"info:eu-repo/semantics/publishedVersion"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/7","display_name":"Affordable and clean energy","score":0.5}],"awards":[{"id":"https://openalex.org/G2262748287","display_name":null,"funder_award_id":"501100011033","funder_id":"https://openalex.org/F4320335598","funder_display_name":"Agencia Estatal de Investigaci\u00f3n"},{"id":"https://openalex.org/G2512800253","display_name":null,"funder_award_id":"FJC2019-039222-I","funder_id":"https://openalex.org/F4320335598","funder_display_name":"Agencia Estatal de Investigaci\u00f3n"},{"id":"https://openalex.org/G3480869486","display_name":null,"funder_award_id":"13039","funder_id":"https://openalex.org/F4320335598","funder_display_name":"Agencia Estatal de Investigaci\u00f3n"},{"id":"https://openalex.org/G4126322094","display_name":null,"funder_award_id":"01100011033","funder_id":"https://openalex.org/F4320335598","funder_display_name":"Agencia Estatal de Investigaci\u00f3n"},{"id":"https://openalex.org/G62216336","display_name":null,"funder_award_id":"FJC2019-039222","funder_id":"https://openalex.org/F4320335598","funder_display_name":"Agencia Estatal de Investigaci\u00f3n"},{"id":"https://openalex.org/G661330594","display_name":null,"funder_award_id":"00110","funder_id":"https://openalex.org/F4320335598","funder_display_name":"Agencia Estatal de Investigaci\u00f3n"},{"id":"https://openalex.org/G6685425346","display_name":null,"funder_award_id":"0011033","funder_id":"https://openalex.org/F4320335598","funder_display_name":"Agencia Estatal de Investigaci\u00f3n"},{"id":"https://openalex.org/G7084143925","display_name":null,"funder_award_id":"AEI/10","funder_id":"https://openalex.org/F4320335598","funder_display_name":"Agencia Estatal de Investigaci\u00f3n"},{"id":"https://openalex.org/G7266728691","display_name":null,"funder_award_id":"13039/501100011033","funder_id":"https://openalex.org/F4320335598","funder_display_name":"Agencia Estatal de Investigaci\u00f3n"},{"id":"https://openalex.org/G8260616629","display_name":null,"funder_award_id":"011033","funder_id":"https://openalex.org/F4320335598","funder_display_name":"Agencia Estatal de Investigaci\u00f3n"}],"funders":[{"id":"https://openalex.org/F4320309369","display_name":"Massachusetts Institute of Technology","ror":"https://ror.org/042nb2s44"},{"id":"https://openalex.org/F4320310094","display_name":"University of Washington","ror":"https://ror.org/00cvxb145"},{"id":"https://openalex.org/F4320317743","display_name":"Masason Foundation","ror":null},{"id":"https://openalex.org/F4320319605","display_name":"Consejer\u00eda de Transformaci\u00f3n Econ\u00f3mica, Industria, Conocimiento y Universidades","ror":null},{"id":"https://openalex.org/F4320326754","display_name":"Junta de Andaluc\u00eda","ror":"https://ror.org/01jem9c82"},{"id":"https://openalex.org/F4320335598","display_name":"Agencia Estatal de Investigaci\u00f3n","ror":null}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4392265981.pdf","grobid_xml":"https://content.openalex.org/works/W4392265981.grobid-xml"},"referenced_works_count":30,"referenced_works":["https://openalex.org/W1983157164","https://openalex.org/W2073061372","https://openalex.org/W2099059741","https://openalex.org/W2252007067","https://openalex.org/W2412152731","https://openalex.org/W2471164860","https://openalex.org/W2497908328","https://openalex.org/W2516525699","https://openalex.org/W2604319603","https://openalex.org/W2787513823","https://openalex.org/W2804500013","https://openalex.org/W2868091835","https://openalex.org/W2972087877","https://openalex.org/W3007772124","https://openalex.org/W3008964021","https://openalex.org/W3096456556","https://openalex.org/W3136479147","https://openalex.org/W3166458379","https://openalex.org/W3192336523","https://openalex.org/W3213528054","https://openalex.org/W4281707342","https://openalex.org/W4311486595","https://openalex.org/W6631660994","https://openalex.org/W6748408460","https://openalex.org/W6752057402","https://openalex.org/W6753048956","https://openalex.org/W6774366228","https://openalex.org/W6774508117","https://openalex.org/W6779728309","https://openalex.org/W6784716568"],"related_works":["https://openalex.org/W4224278821","https://openalex.org/W4226221018","https://openalex.org/W1535437188","https://openalex.org/W60497854","https://openalex.org/W1992873996","https://openalex.org/W3121314575","https://openalex.org/W3147497457","https://openalex.org/W946364419","https://openalex.org/W4225552076","https://openalex.org/W4206336957"],"abstract_inverted_index":{"The":[0,46],"optimization":[1],"of":[2,22,35,43,64,77,83,146,162],"the":[3,13,20,52,57,73,78,119,144,147],"matrix":[4],"multiplication":[5],"(or":[6,126],"GEMM)":[7],"has":[8],"been":[9],"a":[10,40,62,97,100,112,151,158],"need":[11],"during":[12],"last":[14],"decades.":[15],"This":[16],"operation":[17],"is":[18,48,154],"considered":[19],"flagship":[21],"current":[23],"linear":[24],"algebra":[25],"libraries":[26],"such":[27],"as":[28],"BLIS,":[29],"OpenBLAS,":[30],"or":[31,137],"Intel":[32],"OneAPI":[33],"because":[34],"its":[36,163],"widespread":[37],"use":[38],"in":[39],"large":[41],"variety":[42],"scientific":[44],"applications.":[45],"GEMM":[47,58],"usually":[49],"implemented":[50],"following":[51],"GotoBLAS":[53],"philosophy,":[54],"which":[55],"tiles":[56],"operands":[59],"and":[60],"uses":[61],"series":[63],"nested":[65],"loops":[66],"for":[67,103,115],"performance":[68],"improvement.":[69],"These":[70],"approaches":[71],"extract":[72],"maximum":[74],"computational":[75],"power":[76],"architectures":[79],"through":[80],"small":[81],"pieces":[82],"hardware-oriented,":[84],"high-performance":[85],"code":[86],"called":[87],"micro-kernel.":[88],"However,":[89],"this":[90,108],"approach":[91],"forces":[92],"developers":[93],"to":[94,125],"generate,":[95],"with":[96,118,134],"nonnegligible":[98],"effort,":[99],"dedicated":[101],"micro-kernel":[102],"each":[104],"new":[105],"hardware.":[106],"In":[107],"work,":[109],"we":[110],"present":[111],"step-by-step":[113],"procedure":[114],"generating":[116],"micro-kernels":[117],"Exo":[120],"compiler":[121],"that":[122],"perform":[123],"close":[124],"even":[127],"better":[128],"than)":[129],"manually":[130],"developed":[131],"microkernels":[132],"written":[133],"intrinsic":[135],"functions":[136],"assembly":[138],"language.":[139],"Our":[140],"solution":[141],"also":[142],"improves":[143],"portability":[145],"generated":[148],"code,":[149],"since":[150],"hardware":[152],"target":[153],"fully":[155],"specified":[156],"by":[157],"concise":[159],"library-based":[160],"description":[161],"instructions.":[164]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":6},{"year":2024,"cited_by_count":2}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
