{"id":"https://openalex.org/W4285143823","doi":"https://doi.org/10.1109/mm.2022.3173405","title":"Compiling for Vector Extensions With Stream-Based Specialization","display_name":"Compiling for Vector Extensions With Stream-Based Specialization","publication_year":2022,"publication_date":"2022-05-10","ids":{"openalex":"https://openalex.org/W4285143823","doi":"https://doi.org/10.1109/mm.2022.3173405"},"language":"en","primary_location":{"id":"doi:10.1109/mm.2022.3173405","is_oa":false,"landing_page_url":"https://doi.org/10.1109/mm.2022.3173405","pdf_url":null,"source":{"id":"https://openalex.org/S59697426","display_name":"IEEE Micro","issn_l":"0272-1732","issn":["0272-1732","1937-4143"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Micro","raw_type":"journal-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/A5058701648","display_name":"Nuno Neves","orcid":"https://orcid.org/0000-0003-0628-2259"},"institutions":[{"id":"https://openalex.org/I121345201","display_name":"Instituto de Engenharia de Sistemas e Computadores Investiga\u00e7\u00e3o e Desenvolvimento","ror":"https://ror.org/04mqy3p58","country_code":"PT","type":"nonprofit","lineage":["https://openalex.org/I121345201","https://openalex.org/I4210125590"]},{"id":"https://openalex.org/I141596103","display_name":"University of Lisbon","ror":"https://ror.org/01c27hj86","country_code":"PT","type":"education","lineage":["https://openalex.org/I141596103"]}],"countries":["PT"],"is_corresponding":false,"raw_author_name":"Nuno Neves","raw_affiliation_strings":["INESC-ID, Instituto Superior T&#x00E9;cnico, Universidade de Lisboa, Lisboa, Portugal"],"raw_orcid":"https://orcid.org/0000-0003-0628-2259","affiliations":[{"raw_affiliation_string":"INESC-ID, Instituto Superior T&#x00E9;cnico, Universidade de Lisboa, Lisboa, Portugal","institution_ids":["https://openalex.org/I121345201","https://openalex.org/I141596103"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5022054262","display_name":"Joao Mario Domingos","orcid":"https://orcid.org/0000-0002-3038-1073"},"institutions":[{"id":"https://openalex.org/I121345201","display_name":"Instituto de Engenharia de Sistemas e Computadores Investiga\u00e7\u00e3o e Desenvolvimento","ror":"https://ror.org/04mqy3p58","country_code":"PT","type":"nonprofit","lineage":["https://openalex.org/I121345201","https://openalex.org/I4210125590"]},{"id":"https://openalex.org/I141596103","display_name":"University of Lisbon","ror":"https://ror.org/01c27hj86","country_code":"PT","type":"education","lineage":["https://openalex.org/I141596103"]}],"countries":["PT"],"is_corresponding":false,"raw_author_name":"Joao Mario Domingos","raw_affiliation_strings":["INESC-ID, Instituto Superior T&#x00E9;cnico, Universidade de Lisboa, Lisboa, Portugal"],"raw_orcid":"https://orcid.org/0000-0002-3038-1073","affiliations":[{"raw_affiliation_string":"INESC-ID, Instituto Superior T&#x00E9;cnico, Universidade de Lisboa, Lisboa, Portugal","institution_ids":["https://openalex.org/I121345201","https://openalex.org/I141596103"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5015710714","display_name":"Nuno Roma","orcid":"https://orcid.org/0000-0003-2491-4977"},"institutions":[{"id":"https://openalex.org/I121345201","display_name":"Instituto de Engenharia de Sistemas e Computadores Investiga\u00e7\u00e3o e Desenvolvimento","ror":"https://ror.org/04mqy3p58","country_code":"PT","type":"nonprofit","lineage":["https://openalex.org/I121345201","https://openalex.org/I4210125590"]},{"id":"https://openalex.org/I141596103","display_name":"University of Lisbon","ror":"https://ror.org/01c27hj86","country_code":"PT","type":"education","lineage":["https://openalex.org/I141596103"]}],"countries":["PT"],"is_corresponding":false,"raw_author_name":"Nuno Roma","raw_affiliation_strings":["INESC-ID, Instituto Superior T&#x00E9;cnico, Universidade de Lisboa, Lisboa, Portugal"],"raw_orcid":"https://orcid.org/0000-0003-2491-4977","affiliations":[{"raw_affiliation_string":"INESC-ID, Instituto Superior T&#x00E9;cnico, Universidade de Lisboa, Lisboa, Portugal","institution_ids":["https://openalex.org/I121345201","https://openalex.org/I141596103"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5075054918","display_name":"Pedro Tom\u00e1s","orcid":"https://orcid.org/0000-0001-8083-4432"},"institutions":[{"id":"https://openalex.org/I121345201","display_name":"Instituto de Engenharia de Sistemas e Computadores Investiga\u00e7\u00e3o e Desenvolvimento","ror":"https://ror.org/04mqy3p58","country_code":"PT","type":"nonprofit","lineage":["https://openalex.org/I121345201","https://openalex.org/I4210125590"]},{"id":"https://openalex.org/I141596103","display_name":"University of Lisbon","ror":"https://ror.org/01c27hj86","country_code":"PT","type":"education","lineage":["https://openalex.org/I141596103"]}],"countries":["PT"],"is_corresponding":false,"raw_author_name":"Pedro Tomas","raw_affiliation_strings":["INESC-ID, Instituto Superior T&#x00E9;cnico, Universidade de Lisboa, Lisboa, Portugal"],"raw_orcid":"https://orcid.org/0000-0001-8083-4432","affiliations":[{"raw_affiliation_string":"INESC-ID, Instituto Superior T&#x00E9;cnico, Universidade de Lisboa, Lisboa, Portugal","institution_ids":["https://openalex.org/I121345201","https://openalex.org/I141596103"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5088848663","display_name":"Gabriel Falc\u00e3o","orcid":"https://orcid.org/0000-0001-9805-6747"},"institutions":[{"id":"https://openalex.org/I4210120471","display_name":"Instituto de Telecomunica\u00e7\u00f5es","ror":"https://ror.org/02ht4fk33","country_code":"PT","type":"nonprofit","lineage":["https://openalex.org/I4210120471"]},{"id":"https://openalex.org/I76903346","display_name":"University of Coimbra","ror":"https://ror.org/04z8k9a98","country_code":"PT","type":"education","lineage":["https://openalex.org/I76903346"]}],"countries":["PT"],"is_corresponding":false,"raw_author_name":"Gabriel Falcao","raw_affiliation_strings":["Instituto de Telecomunica&#x00E7;&#x00F5;es, University of Coimbra, Coimbra, Portugal"],"raw_orcid":"https://orcid.org/0000-0001-9805-6747","affiliations":[{"raw_affiliation_string":"Instituto de Telecomunica&#x00E7;&#x00F5;es, University of Coimbra, Coimbra, Portugal","institution_ids":["https://openalex.org/I4210120471","https://openalex.org/I76903346"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.0164,"has_fulltext":false,"cited_by_count":6,"citation_normalized_percentile":{"value":0.7344839,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":97},"biblio":{"volume":"42","issue":"5","first_page":"49","last_page":"58"},"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9980000257492065,"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/T10829","display_name":"Interconnection Networks and Systems","score":0.9965999722480774,"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.9363402128219604},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7046585083007812},{"id":"https://openalex.org/keywords/data-flow-diagram","display_name":"Data flow diagram","score":0.5575780868530273},{"id":"https://openalex.org/keywords/control-flow","display_name":"Control flow","score":0.5464627742767334},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.528549313545227},{"id":"https://openalex.org/keywords/encode","display_name":"ENCODE","score":0.48093146085739136},{"id":"https://openalex.org/keywords/data-flow-analysis","display_name":"Data-flow analysis","score":0.47917640209198},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.47503000497817993},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.4526696801185608},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.4452108144760132},{"id":"https://openalex.org/keywords/graph","display_name":"Graph","score":0.4407746195793152},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4354844093322754},{"id":"https://openalex.org/keywords/data-structure","display_name":"Data structure","score":0.4266365170478821},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.4263955354690552},{"id":"https://openalex.org/keywords/control-flow-graph","display_name":"Control flow graph","score":0.4121204614639282},{"id":"https://openalex.org/keywords/database","display_name":"Database","score":0.13348481059074402}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9363402128219604},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7046585083007812},{"id":"https://openalex.org/C489000","wikidata":"https://www.wikidata.org/wiki/Q747385","display_name":"Data flow diagram","level":2,"score":0.5575780868530273},{"id":"https://openalex.org/C160191386","wikidata":"https://www.wikidata.org/wiki/Q868299","display_name":"Control flow","level":2,"score":0.5464627742767334},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.528549313545227},{"id":"https://openalex.org/C66746571","wikidata":"https://www.wikidata.org/wiki/Q1134833","display_name":"ENCODE","level":3,"score":0.48093146085739136},{"id":"https://openalex.org/C88468194","wikidata":"https://www.wikidata.org/wiki/Q1172416","display_name":"Data-flow analysis","level":3,"score":0.47917640209198},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.47503000497817993},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.4526696801185608},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.4452108144760132},{"id":"https://openalex.org/C132525143","wikidata":"https://www.wikidata.org/wiki/Q141488","display_name":"Graph","level":2,"score":0.4407746195793152},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4354844093322754},{"id":"https://openalex.org/C162319229","wikidata":"https://www.wikidata.org/wiki/Q175263","display_name":"Data structure","level":2,"score":0.4266365170478821},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.4263955354690552},{"id":"https://openalex.org/C27458966","wikidata":"https://www.wikidata.org/wiki/Q1187693","display_name":"Control flow graph","level":2,"score":0.4121204614639282},{"id":"https://openalex.org/C77088390","wikidata":"https://www.wikidata.org/wiki/Q8513","display_name":"Database","level":1,"score":0.13348481059074402},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"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/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}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/mm.2022.3173405","is_oa":false,"landing_page_url":"https://doi.org/10.1109/mm.2022.3173405","pdf_url":null,"source":{"id":"https://openalex.org/S59697426","display_name":"IEEE Micro","issn_l":"0272-1732","issn":["0272-1732","1937-4143"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319808","host_organization_name":"Institute of Electrical and Electronics Engineers","host_organization_lineage":["https://openalex.org/P4310319808"],"host_organization_lineage_names":["Institute of Electrical and Electronics Engineers"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"IEEE Micro","raw_type":"journal-article"}],"best_oa_location":null,"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/9","display_name":"Industry, innovation and infrastructure","score":0.6299999952316284}],"awards":[{"id":"https://openalex.org/G2441341484","display_name":"Instituto de Engenharia de Sistemas e Computadores, Investiga\u00e7\u00e3o e Desenvolvimento em Lisboa","funder_award_id":"UIDB/50021/2020","funder_id":"https://openalex.org/F4320334779","funder_display_name":"Funda\u00e7\u00e3o para a Ci\u00eancia e a Tecnologia"},{"id":"https://openalex.org/G4680224365","display_name":null,"funder_award_id":"UIDB/EEA/50008/2020,","funder_id":"https://openalex.org/F4320334779","funder_display_name":"Funda\u00e7\u00e3o para a Ci\u00eancia e a Tecnologia"},{"id":"https://openalex.org/G7875605236","display_name":null,"funder_award_id":"101036168","funder_id":"https://openalex.org/F4320320300","funder_display_name":"European Commission"},{"id":"https://openalex.org/G8530413588","display_name":"Sistema de Processamento Dedicado para Aprendizagem Profunda","funder_award_id":"PTDC/EEI-HAC/30485/2017","funder_id":"https://openalex.org/F4320334779","funder_display_name":"Funda\u00e7\u00e3o para a Ci\u00eancia e a Tecnologia"}],"funders":[{"id":"https://openalex.org/F4320320300","display_name":"European Commission","ror":"https://ror.org/00k4n6c32"},{"id":"https://openalex.org/F4320334779","display_name":"Funda\u00e7\u00e3o para a Ci\u00eancia e a Tecnologia","ror":"https://ror.org/00snfqn58"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":12,"referenced_works":["https://openalex.org/W2147657366","https://openalex.org/W2594960649","https://openalex.org/W2613264175","https://openalex.org/W2626953429","https://openalex.org/W3016309475","https://openalex.org/W3086504363","https://openalex.org/W3092642880","https://openalex.org/W3122286897","https://openalex.org/W3123542955","https://openalex.org/W3189388815","https://openalex.org/W3191906639","https://openalex.org/W6764770523"],"related_works":["https://openalex.org/W2080682474","https://openalex.org/W2599014345","https://openalex.org/W2294309217","https://openalex.org/W3022519409","https://openalex.org/W2162436812","https://openalex.org/W1529109699","https://openalex.org/W2952722359","https://openalex.org/W2102770006","https://openalex.org/W4301645184","https://openalex.org/W4285143823"],"abstract_inverted_index":{"To":[0],"overcome":[1],"the":[2,19,23,32,45,63,71,92,100],"current":[3],"performance":[4,147],"wall,":[5],"data":[6,111],"streaming":[7,80,112],"and":[8,69,75,118,132],"data-flow":[9,77],"computing":[10],"paradigms":[11,27],"have":[12],"been":[13],"gradually":[14],"making":[15],"their":[16,38],"way":[17],"into":[18],"general-purpose":[20],"domain.":[21],"However,":[22],"proliferation":[24],"of":[25,34,102,129,138],"such":[26],"is":[28,41,86,127],"often":[29],"hindered":[30],"by":[31,108],"lack":[33],"compilation":[35,59,84],"support,":[36],"as":[37],"execution":[39],"model":[40],"usually":[42],"incompatible":[43],"with":[44,79,114],"internal":[46],"static":[47],"single-assignment":[48],"form":[49],"used":[50,87],"in":[51],"modern":[52],"compilers.":[53],"Accordingly,":[54],"we":[55],"propose":[56],"a":[57,110,134],"new":[58],"flow":[60,85],"that":[61,123],"leverages":[62],"LLVM":[64],"infrastructure":[65],"to":[66,88],"automatically":[67],"extract":[68],"encode":[70],"memory":[72,116],"access":[73,117],"pattern":[74],"computation":[76],"graph":[78],"representations.":[81],"The":[82],"proposed":[83,125],"generate":[89],"code":[90],"for":[91],"recently":[93],"presented":[94],"Unlimited":[95],"Vector":[96],"Extension,":[97],"which":[98],"tackles":[99],"shortcomings":[101],"vector-length":[103],"agnostic":[104],"single-instruction":[105],"multiple-data":[106],"extensions":[107],"deploying":[109],"paradigm":[113],"implicit":[115],"loop":[119,139],"control.":[120],"We":[121],"show":[122],"our":[124],"tool":[126],"capable":[128],"detecting,":[130],"representing,":[131],"vectorizing":[133],"much":[135],"wider":[136],"range":[137],"patterns":[140],"than":[141],"existing":[142],"solutions":[143],"while":[144],"providing":[145],"significant":[146],"gains.":[148]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":3}],"updated_date":"2026-08-01T09:00:35.917206","created_date":"2025-10-10T00:00:00"}
