{"id":"https://openalex.org/W1930382598","doi":"https://doi.org/10.1109/samos.2015.7363680","title":"Dynamic re-vectorization of binary code","display_name":"Dynamic re-vectorization of binary code","publication_year":2015,"publication_date":"2015-07-01","ids":{"openalex":"https://openalex.org/W1930382598","doi":"https://doi.org/10.1109/samos.2015.7363680","mag":"1930382598"},"language":"en","primary_location":{"id":"doi:10.1109/samos.2015.7363680","is_oa":false,"landing_page_url":"https://doi.org/10.1109/samos.2015.7363680","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2015 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS)","raw_type":"proceedings-article"},"type":"preprint","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/A5068891278","display_name":"Nabil Hallou","orcid":"https://orcid.org/0000-0002-1706-4110"},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]},{"id":"https://openalex.org/I4210133778","display_name":"Centre Inria de l'Universit\u00e9 de Rennes","ror":"https://ror.org/04040yw90","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1326498283","https://openalex.org/I4210133778"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Nabil Hallou","raw_affiliation_strings":["Team ALF, INRIA Rennes, France","[Team ALF, INRIA Rennes, France]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Team ALF, INRIA Rennes, France","institution_ids":["https://openalex.org/I1326498283","https://openalex.org/I4210133778"]},{"raw_affiliation_string":"[Team ALF, INRIA Rennes, France]","institution_ids":["https://openalex.org/I1326498283"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5068551139","display_name":"Erven Rohou","orcid":"https://orcid.org/0000-0002-8060-8360"},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en sciences et technologies du num\u00e9rique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]},{"id":"https://openalex.org/I4210133778","display_name":"Centre Inria de l'Universit\u00e9 de Rennes","ror":"https://ror.org/04040yw90","country_code":"FR","type":"facility","lineage":["https://openalex.org/I1326498283","https://openalex.org/I4210133778"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Erven Rohou","raw_affiliation_strings":["Team ALF, INRIA Rennes, France","[Team ALF, INRIA Rennes, France]"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Team ALF, INRIA Rennes, France","institution_ids":["https://openalex.org/I1326498283","https://openalex.org/I4210133778"]},{"raw_affiliation_string":"[Team ALF, INRIA Rennes, France]","institution_ids":["https://openalex.org/I1326498283"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5069005561","display_name":"Philippe Clauss","orcid":"https://orcid.org/0000-0002-5759-9195"},"institutions":[{"id":"https://openalex.org/I1294671590","display_name":"Centre National de la Recherche Scientifique","ror":"https://ror.org/02feahw73","country_code":"FR","type":"government","lineage":["https://openalex.org/I1294671590"]},{"id":"https://openalex.org/I68947357","display_name":"Universit\u00e9 de Strasbourg","ror":"https://ror.org/00pg6eq24","country_code":"FR","type":"education","lineage":["https://openalex.org/I68947357"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Philippe Clauss","raw_affiliation_strings":["Team CAMUS, University of Strasbourg, France","Team CAMUS, INRIA, ICube Lab., CNRS, University of Strasbourg, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Team CAMUS, University of Strasbourg, France","institution_ids":["https://openalex.org/I68947357"]},{"raw_affiliation_string":"Team CAMUS, INRIA, ICube Lab., CNRS, University of Strasbourg, France","institution_ids":["https://openalex.org/I68947357","https://openalex.org/I1294671590"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5038830275","display_name":"Alain Ketterlin","orcid":null},"institutions":[{"id":"https://openalex.org/I1294671590","display_name":"Centre National de la Recherche Scientifique","ror":"https://ror.org/02feahw73","country_code":"FR","type":"government","lineage":["https://openalex.org/I1294671590"]},{"id":"https://openalex.org/I68947357","display_name":"Universit\u00e9 de Strasbourg","ror":"https://ror.org/00pg6eq24","country_code":"FR","type":"education","lineage":["https://openalex.org/I68947357"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Alain Ketterlin","raw_affiliation_strings":["Team CAMUS, University of Strasbourg, France","Team CAMUS, INRIA, ICube Lab., CNRS, University of Strasbourg, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Team CAMUS, University of Strasbourg, France","institution_ids":["https://openalex.org/I68947357"]},{"raw_affiliation_string":"Team CAMUS, INRIA, ICube Lab., CNRS, University of Strasbourg, France","institution_ids":["https://openalex.org/I68947357","https://openalex.org/I1294671590"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":2.3061,"has_fulltext":false,"cited_by_count":11,"citation_normalized_percentile":{"value":0.87677029,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"228","last_page":"237"},"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.9994000196456909,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9991000294685364,"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.8746521472930908},{"id":"https://openalex.org/keywords/simd","display_name":"SIMD","score":0.7794941663742065},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7649800777435303},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.760855495929718},{"id":"https://openalex.org/keywords/x86","display_name":"x86","score":0.7402011156082153},{"id":"https://openalex.org/keywords/binary-translation","display_name":"Binary translation","score":0.6773806214332581},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6548537611961365},{"id":"https://openalex.org/keywords/rewriting","display_name":"Rewriting","score":0.5736149549484253},{"id":"https://openalex.org/keywords/vectorization","display_name":"Vectorization (mathematics)","score":0.5242790579795837},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5214799642562866},{"id":"https://openalex.org/keywords/machine-code","display_name":"Machine code","score":0.466907799243927},{"id":"https://openalex.org/keywords/program-optimization","display_name":"Program optimization","score":0.4636105000972748},{"id":"https://openalex.org/keywords/just-in-time-compilation","display_name":"Just-in-time compilation","score":0.46184107661247253},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.4614694118499756},{"id":"https://openalex.org/keywords/optimizing-compiler","display_name":"Optimizing compiler","score":0.4494546949863434},{"id":"https://openalex.org/keywords/interprocedural-optimization","display_name":"Interprocedural optimization","score":0.4468461573123932},{"id":"https://openalex.org/keywords/dynamic-compilation","display_name":"Dynamic compilation","score":0.4457884728908539},{"id":"https://openalex.org/keywords/static-analysis","display_name":"Static analysis","score":0.4432961046695709},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.4085788428783417},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.24354895949363708},{"id":"https://openalex.org/keywords/loop-optimization","display_name":"Loop optimization","score":0.17904448509216309}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8746521472930908},{"id":"https://openalex.org/C150552126","wikidata":"https://www.wikidata.org/wiki/Q339387","display_name":"SIMD","level":2,"score":0.7794941663742065},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7649800777435303},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.760855495929718},{"id":"https://openalex.org/C170723468","wikidata":"https://www.wikidata.org/wiki/Q182933","display_name":"x86","level":3,"score":0.7402011156082153},{"id":"https://openalex.org/C2778971978","wikidata":"https://www.wikidata.org/wiki/Q2287075","display_name":"Binary translation","level":3,"score":0.6773806214332581},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6548537611961365},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.5736149549484253},{"id":"https://openalex.org/C41681595","wikidata":"https://www.wikidata.org/wiki/Q7917855","display_name":"Vectorization (mathematics)","level":2,"score":0.5242790579795837},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5214799642562866},{"id":"https://openalex.org/C115168132","wikidata":"https://www.wikidata.org/wiki/Q55813","display_name":"Machine code","level":3,"score":0.466907799243927},{"id":"https://openalex.org/C139571649","wikidata":"https://www.wikidata.org/wiki/Q1156793","display_name":"Program optimization","level":3,"score":0.4636105000972748},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.46184107661247253},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.4614694118499756},{"id":"https://openalex.org/C190902152","wikidata":"https://www.wikidata.org/wiki/Q1325106","display_name":"Optimizing compiler","level":3,"score":0.4494546949863434},{"id":"https://openalex.org/C111564260","wikidata":"https://www.wikidata.org/wiki/Q4288856","display_name":"Interprocedural optimization","level":5,"score":0.4468461573123932},{"id":"https://openalex.org/C8767382","wikidata":"https://www.wikidata.org/wiki/Q1058454","display_name":"Dynamic compilation","level":3,"score":0.4457884728908539},{"id":"https://openalex.org/C97686452","wikidata":"https://www.wikidata.org/wiki/Q7604153","display_name":"Static analysis","level":2,"score":0.4432961046695709},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.4085788428783417},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.24354895949363708},{"id":"https://openalex.org/C29331672","wikidata":"https://www.wikidata.org/wiki/Q3354468","display_name":"Loop optimization","level":4,"score":0.17904448509216309},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1109/samos.2015.7363680","is_oa":false,"landing_page_url":"https://doi.org/10.1109/samos.2015.7363680","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2015 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS)","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":24,"referenced_works":["https://openalex.org/W1019433010","https://openalex.org/W1500117749","https://openalex.org/W1522250664","https://openalex.org/W1567406606","https://openalex.org/W1986364436","https://openalex.org/W1991050699","https://openalex.org/W2013156670","https://openalex.org/W2060278749","https://openalex.org/W2089131124","https://openalex.org/W2101578807","https://openalex.org/W2114368073","https://openalex.org/W2118031182","https://openalex.org/W2121176848","https://openalex.org/W2127324789","https://openalex.org/W2127594310","https://openalex.org/W2148865465","https://openalex.org/W2155943969","https://openalex.org/W2157273783","https://openalex.org/W2529638517","https://openalex.org/W3145750999","https://openalex.org/W4241410512","https://openalex.org/W6631155369","https://openalex.org/W6677024304","https://openalex.org/W6728335338"],"related_works":["https://openalex.org/W3162397251","https://openalex.org/W4249170992","https://openalex.org/W2134559770","https://openalex.org/W1481491067","https://openalex.org/W2021499088","https://openalex.org/W3008738139","https://openalex.org/W2619569919","https://openalex.org/W2045566952","https://openalex.org/W30346349","https://openalex.org/W1930382598"],"abstract_inverted_index":{"In":[0,35,52],"many":[1,111],"cases,":[2],"applications":[3],"are":[4],"not":[5,45,95,176],"optimized":[6],"for":[7,62,76,114],"the":[8,43,46,50,59,63,81,122,173],"hardware":[9],"on":[10,32,57],"which":[11],"they":[12],"run.":[13],"Several":[14],"reasons":[15],"contribute":[16],"to":[17,68,84,121,138,172],"this":[18,53],"unsatisfying":[19],"situation,":[20],"including":[21],"legacy":[22],"code,":[23],"commercial":[24],"code":[25],"distributed":[26],"in":[27,149],"binary":[28],"form,":[29],"or":[30],"deployment":[31],"compute":[33],"farms.":[34],"fact,":[36],"backward":[37],"compatibility":[38],"of":[39,49,80,153],"ISA":[40],"guarantees":[41],"only":[42],"functionality,":[44],"best":[47],"exploitation":[48],"hardware.":[51],"work,":[54],"we":[55],"focus":[56],"maximizing":[58],"CPU":[60],"efficiency":[61],"SIMD":[64,82],"extensions":[65],"and":[66,71,125,144,180],"propose":[67,89],"convert":[69],"automatically,":[70],"at":[72],"runtime,":[73],"loops":[74,112],"vectorized":[75],"an":[77],"older":[78],"version":[79],"extension":[83],"a":[85,90,97,103,154,164],"newer":[86],"one.":[87],"We":[88,108,146],"lightweight":[91],"mechanism,":[92],"that":[93,110],"does":[94,175],"include":[96],"vectorizer,":[98],"but":[99],"instead":[100],"leverages":[101],"what":[102],"static":[104],"vectorizer":[105],"previously":[106],"did.":[107],"show":[109],"compiled":[113],"x86":[115],"SSE":[116],"can":[117],"be":[118],"dynamically":[119],"converted":[120],"more":[123,126],"recent":[124],"powerful":[127],"AVX;":[128],"as":[129,141],"well":[130],"as,":[131],"how":[132],"correctness":[133],"is":[134,161,169],"maintained":[135],"with":[136,151],"regards":[137],"challenges":[139],"such":[140],"data":[142],"dependences":[143],"reductions.":[145],"obtain":[147],"speedups":[148],"line":[150],"those":[152],"native":[155],"compiler":[156],"targeting":[157],"AVX.":[158],"The":[159],"re-vectorizer":[160],"implemented":[162],"inside":[163],"dynamic":[165],"optimization":[166],"platform;":[167],"it":[168],"completely":[170],"transparent":[171],"user,":[174],"require":[177],"rewriting":[178],"binaries,":[179],"operates":[181],"during":[182],"program":[183],"execution.":[184]},"counts_by_year":[{"year":2019,"cited_by_count":4},{"year":2018,"cited_by_count":2},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":2}],"updated_date":"2026-06-11T09:08:48.828518","created_date":"2025-10-10T00:00:00"}
