{"id":"https://openalex.org/W2793666465","doi":"https://doi.org/10.1145/3168823","title":"Loop transformations leveraging hardware prefetching","display_name":"Loop transformations leveraging hardware prefetching","publication_year":2018,"publication_date":"2018-02-24","ids":{"openalex":"https://openalex.org/W2793666465","doi":"https://doi.org/10.1145/3168823","mag":"2793666465"},"language":"en","primary_location":{"id":"doi:10.1145/3168823","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3168823","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2018 International Symposium on Code Generation and Optimization","raw_type":"proceedings-article"},"type":"conference-paper","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/A5062737440","display_name":"Savvas Sioutas","orcid":null},"institutions":[{"id":"https://openalex.org/I83019370","display_name":"Eindhoven University of Technology","ror":"https://ror.org/02c2kyt77","country_code":"NL","type":"education","lineage":["https://openalex.org/I83019370"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Savvas Sioutas","raw_affiliation_strings":["Eindhoven University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Eindhoven University of Technology, Netherlands","institution_ids":["https://openalex.org/I83019370"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5032436846","display_name":"Sander Stuijk","orcid":"https://orcid.org/0000-0002-2518-6847"},"institutions":[{"id":"https://openalex.org/I83019370","display_name":"Eindhoven University of Technology","ror":"https://ror.org/02c2kyt77","country_code":"NL","type":"education","lineage":["https://openalex.org/I83019370"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Sander Stuijk","raw_affiliation_strings":["Eindhoven University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Eindhoven University of Technology, Netherlands","institution_ids":["https://openalex.org/I83019370"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5081768631","display_name":"Henk Corporaal","orcid":"https://orcid.org/0000-0003-4506-5732"},"institutions":[{"id":"https://openalex.org/I83019370","display_name":"Eindhoven University of Technology","ror":"https://ror.org/02c2kyt77","country_code":"NL","type":"education","lineage":["https://openalex.org/I83019370"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Henk Corporaal","raw_affiliation_strings":["Eindhoven University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Eindhoven University of Technology, Netherlands","institution_ids":["https://openalex.org/I83019370"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5026760188","display_name":"Twan Basten","orcid":"https://orcid.org/0000-0002-2274-7274"},"institutions":[{"id":"https://openalex.org/I83019370","display_name":"Eindhoven University of Technology","ror":"https://ror.org/02c2kyt77","country_code":"NL","type":"education","lineage":["https://openalex.org/I83019370"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Twan Basten","raw_affiliation_strings":["Eindhoven University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Eindhoven University of Technology, Netherlands","institution_ids":["https://openalex.org/I83019370"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5112241649","display_name":"Lou Somers","orcid":null},"institutions":[{"id":"https://openalex.org/I83019370","display_name":"Eindhoven University of Technology","ror":"https://ror.org/02c2kyt77","country_code":"NL","type":"education","lineage":["https://openalex.org/I83019370"]}],"countries":["NL"],"is_corresponding":false,"raw_author_name":"Lou Somers","raw_affiliation_strings":["Eindhoven University of Technology, Netherlands"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Eindhoven University of Technology, Netherlands","institution_ids":["https://openalex.org/I83019370"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I83019370"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":14,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"254","last_page":"264"},"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.9995999932289124,"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/T10829","display_name":"Interconnection Networks and Systems","score":0.9988999962806702,"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.868274450302124},{"id":"https://openalex.org/keywords/locality","display_name":"Locality","score":0.8332215547561646},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.788402795791626},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.634779691696167},{"id":"https://openalex.org/keywords/bandwidth","display_name":"Bandwidth (computing)","score":0.5476925373077393},{"id":"https://openalex.org/keywords/memory-bandwidth","display_name":"Memory bandwidth","score":0.545756459236145},{"id":"https://openalex.org/keywords/locality-of-reference","display_name":"Locality of reference","score":0.5326064825057983},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.4551408886909485},{"id":"https://openalex.org/keywords/cas-latency","display_name":"CAS latency","score":0.4412060081958771},{"id":"https://openalex.org/keywords/loop-fission","display_name":"Loop fission","score":0.4239284098148346},{"id":"https://openalex.org/keywords/loop","display_name":"Loop (graph theory)","score":0.42392444610595703},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3776124119758606},{"id":"https://openalex.org/keywords/computer-hardware","display_name":"Computer hardware","score":0.2303956151008606},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.2236081063747406}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.868274450302124},{"id":"https://openalex.org/C2779808786","wikidata":"https://www.wikidata.org/wiki/Q6664603","display_name":"Locality","level":2,"score":0.8332215547561646},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.788402795791626},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.634779691696167},{"id":"https://openalex.org/C2776257435","wikidata":"https://www.wikidata.org/wiki/Q1576430","display_name":"Bandwidth (computing)","level":2,"score":0.5476925373077393},{"id":"https://openalex.org/C188045654","wikidata":"https://www.wikidata.org/wiki/Q17148339","display_name":"Memory bandwidth","level":2,"score":0.545756459236145},{"id":"https://openalex.org/C27602214","wikidata":"https://www.wikidata.org/wiki/Q1868547","display_name":"Locality of reference","level":3,"score":0.5326064825057983},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.4551408886909485},{"id":"https://openalex.org/C189930140","wikidata":"https://www.wikidata.org/wiki/Q1112878","display_name":"CAS latency","level":4,"score":0.4412060081958771},{"id":"https://openalex.org/C134718785","wikidata":"https://www.wikidata.org/wiki/Q6675821","display_name":"Loop fission","level":3,"score":0.4239284098148346},{"id":"https://openalex.org/C184670325","wikidata":"https://www.wikidata.org/wiki/Q512604","display_name":"Loop (graph theory)","level":2,"score":0.42392444610595703},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3776124119758606},{"id":"https://openalex.org/C9390403","wikidata":"https://www.wikidata.org/wiki/Q3966","display_name":"Computer hardware","level":1,"score":0.2303956151008606},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.2236081063747406},{"id":"https://openalex.org/C115537543","wikidata":"https://www.wikidata.org/wiki/Q165596","display_name":"Cache","level":2,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"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/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C31258907","wikidata":"https://www.wikidata.org/wiki/Q1301371","display_name":"Computer network","level":1,"score":0.0},{"id":"https://openalex.org/C187736073","wikidata":"https://www.wikidata.org/wiki/Q2920921","display_name":"Management","level":1,"score":0.0},{"id":"https://openalex.org/C98986596","wikidata":"https://www.wikidata.org/wiki/Q1143031","display_name":"Semiconductor memory","level":2,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C41895202","wikidata":"https://www.wikidata.org/wiki/Q8162","display_name":"Linguistics","level":1,"score":0.0},{"id":"https://openalex.org/C100800780","wikidata":"https://www.wikidata.org/wiki/Q1175867","display_name":"Memory controller","level":3,"score":0.0}],"mesh":[],"locations_count":7,"locations":[{"id":"doi:10.1145/3168823","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3168823","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 2018 International Symposium on Code Generation and Optimization","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.tue.nl:publications/a19754e2-8407-4c62-969e-5b6476c3e9f4","is_oa":false,"landing_page_url":"https://research.tue.nl/en/publications/a19754e2-8407-4c62-969e-5b6476c3e9f4","pdf_url":null,"source":{"id":"https://openalex.org/S4406922641","display_name":"TU/e Research Portal","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Sioutas, S, Stuijk, S, Corporaal, H, Basten, T & Somers, L 2018, Loop transformations leveraging hardware prefetching. in CGO 2018 - Proceedings of the 2018 International Symposium on Code Generation and Optimization. Association for Computing Machinery, Inc., pp. 254-264, 16th International Symposium on Code Generation and Optimization, (CGO2018), Vienna, Austria, 24/02/18. https://doi.org/10.1145/3168823","raw_type":"info:eu-repo/semantics/conferenceObject"},{"id":"pmh:903373","is_oa":false,"landing_page_url":"http://library.tue.nl/csp/dare/LinkToRepository.csp?recordnumber=903373","pdf_url":null,"source":{"id":"https://openalex.org/S4406923046","display_name":"TU/e Research Portal (Eindhoven University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":null},{"id":"pmh:oai:library.tue.nl:903373","is_oa":false,"landing_page_url":"http://repository.tue.nl/903373","pdf_url":null,"source":{"id":"https://openalex.org/S4406923046","display_name":"TU/e Research Portal (Eindhoven University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":null},{"id":"pmh:oai:oai-pmh.tno.nl:48817","is_oa":false,"landing_page_url":"https://resolver.tno.nl/uuid:4cfadaae-70f4-49a0-87ba-1a2d1a75b910","pdf_url":null,"source":{"id":"https://openalex.org/S7407055233","display_name":"TNO Repository","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"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/conferenceObject"},{"id":"pmh:oai:tudelft.nl:uuid:4cfadaae-70f4-49a0-87ba-1a2d1a75b910","is_oa":false,"landing_page_url":"http://resolver.tudelft.nl/uuid:4cfadaae-70f4-49a0-87ba-1a2d1a75b910","pdf_url":null,"source":{"id":"https://openalex.org/S4306402238","display_name":"Repository hosted by TU Delft Library (TU Delft)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98358874","host_organization_name":"Delft University of Technology","host_organization_lineage":["https://openalex.org/I98358874"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"CGO 2018 - Proceedings of the 16th International Symposium on Code Generation and Optimization, CGO 2018. 24 February 2018 through 28 February 2018, 2018-February, 254-264","raw_type":"article"},{"id":"pmh:tue:oai:pure.tue.nl:publications/a19754e2-8407-4c62-969e-5b6476c3e9f4","is_oa":false,"landing_page_url":"https://research.tue.nl/nl/publications/a19754e2-8407-4c62-969e-5b6476c3e9f4","pdf_url":null,"source":{"id":"https://openalex.org/S4306401843","display_name":"Data Archiving and Networked Services (DANS)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I1322597698","host_organization_name":"Royal Netherlands Academy of Arts and Sciences","host_organization_lineage":["https://openalex.org/I1322597698"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"CGO 2018 - Proceedings of the 2018 International Symposium on Code Generation and Optimization, 254 - 264","raw_type":"info:eu-repo/semantics/conferencepaper"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W38784877","https://openalex.org/W95852487","https://openalex.org/W142438368","https://openalex.org/W1964031104","https://openalex.org/W1991338294","https://openalex.org/W2025093669","https://openalex.org/W2038945443","https://openalex.org/W2041174925","https://openalex.org/W2055253125","https://openalex.org/W2055312318","https://openalex.org/W2070961300","https://openalex.org/W2078845975","https://openalex.org/W2080302884","https://openalex.org/W2089031675","https://openalex.org/W2098220211","https://openalex.org/W2099059741","https://openalex.org/W2100218206","https://openalex.org/W2108737583","https://openalex.org/W2119609467","https://openalex.org/W2121380786","https://openalex.org/W2122989035","https://openalex.org/W2135653967","https://openalex.org/W2147505032","https://openalex.org/W2148542244","https://openalex.org/W2153993495","https://openalex.org/W2158158791","https://openalex.org/W2414782828","https://openalex.org/W2471164860","https://openalex.org/W2516525699","https://openalex.org/W3136479147","https://openalex.org/W4234960108","https://openalex.org/W4245312332","https://openalex.org/W4386313596"],"related_works":["https://openalex.org/W4238138329","https://openalex.org/W2124711255","https://openalex.org/W2347805103","https://openalex.org/W1545258949","https://openalex.org/W1509582226","https://openalex.org/W2623902450","https://openalex.org/W2167013139","https://openalex.org/W2129294018","https://openalex.org/W4234370346","https://openalex.org/W4254922645"],"abstract_inverted_index":{"Memory-bound":[0],"applications":[1],"heavily":[2],"depend":[3],"on":[4,131],"the":[5,8,34,46,53,58,66,69,125,151],"bandwidth":[6],"of":[7,28,37,50,57,68,88,134,142],"system":[9],"in":[10,74,92],"order":[11,93],"to":[12,45,94,121,146],"achieve":[13],"high":[14],"performance.":[15],"Improving":[16],"temporal":[17,103],"and/or":[18],"spatial":[19,105],"locality":[20],"through":[21],"loop":[22,90],"transformations":[23],"is":[24,39],"a":[25,41,62,89,119,132],"common":[26],"way":[27],"mitigating":[29],"this":[30],"dependency.":[31],"However,":[32],"choosing":[33],"right":[35],"combination":[36],"optimizations":[38],"not":[40],"trivial":[42],"task,":[43],"due":[44],"fact":[47],"that":[48,82],"most":[49],"them":[51],"alter":[52],"memory":[54],"access":[55],"pattern":[56],"application":[59],"and":[60,128,154],"as":[61,118],"result":[63],"interfere":[64],"with":[65,124],"efficiency":[67],"hardware":[70,110],"prefetching":[71,111],"mechanisms":[72],"present":[73],"modern":[75],"architectures.":[76],"We":[77,114,136],"propose":[78],"an":[79,85,138],"optimization":[80],"algorithm":[81],"analytically":[83],"classifies":[84],"algorithmic":[86],"description":[87],"nest":[91],"decide":[95],"whether":[96],"it":[97,130],"should":[98],"be":[99,122],"optimized":[100],"stressing":[101],"its":[102],"or":[104],"locality,":[106],"while":[107],"also":[108],"taking":[109],"into":[112],"account.":[113],"implement":[115],"our":[116],"technique":[117],"tool":[120],"used":[123],"Halide":[126,152],"compiler":[127],"test":[129],"variety":[133],"benchmarks.":[135],"find":[137],"average":[139],"performance":[140],"improvement":[141],"over":[143],"40%":[144],"compared":[145],"previous":[147],"analytical":[148],"models":[149],"targeting":[150],"language":[153],"compiler.":[155]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":5},{"year":2019,"cited_by_count":3}],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2025-10-10T00:00:00"}
