{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,24]],"date-time":"2026-02-24T18:14:14Z","timestamp":1771956854594,"version":"3.50.1"},"reference-count":36,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2017,8,22]],"date-time":"2017-08-22T00:00:00Z","timestamp":1503360000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"ARTEMIS","award":["332913"],"award-info":[{"award-number":["332913"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2017,9,30]]},"abstract":"<jats:p>Programmers can no longer depend on new processors to have significantly improved single-thread performance. Instead, gains have to come from other sources such as the compiler and its optimization passes. Advanced passes make use of information on the dependencies related to loops. We improve the quality of that information by reusing the information given by the programmer for parallelization. We have implemented a prototype based on GCC into which we also add a new optimization pass. Our approach improves the amount of correctly classified dependencies resulting in 46% average improvement in single-thread performance for kernel benchmarks compared to GCC 6.1.<\/jats:p>","DOI":"10.1145\/3095754","type":"journal-article","created":{"date-parts":[[2017,8,24]],"date-time":"2017-08-24T11:49:04Z","timestamp":1503575344000},"page":"1-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Improving Loop Dependence Analysis"],"prefix":"10.1145","volume":"14","author":[{"given":"Nicklas Bo","family":"Jensen","sequence":"first","affiliation":[{"name":"Technical University of Denmark, DTU Compute, Richard Petersens Plads, Lyngby"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sven","family":"Karlsson","sequence":"additional","affiliation":[{"name":"Technical University of Denmark, DTU Compute, Richard Petersens Plads, Lyngby"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,8,22]]},"reference":[{"key":"e_1_2_2_1_1","unstructured":"John Randal Allen. 1983. Dependence Analysis for Subscripted Variables and Its Application to Program Transformations. Ph.D. Dissertation. Rice University.  John Randal Allen. 1983. Dependence Analysis for Subscripted Variables and Its Application to Program Transformations. Ph.D. Dissertation. Rice University."},{"key":"e_1_2_2_2_1","unstructured":"OpenMP Architecture Review Board. 2013. OpenMP Application Program Interface (version 4.0). (2013). OpenMP Specification.  OpenMP Architecture Review Board. 2013. OpenMP Application Program Interface (version 4.0). (2013). OpenMP Specification."},{"key":"e_1_2_2_3_1","unstructured":"OpenMP Architecture Review Board. 2015. OpenMP Application Program Interface (version 4.5). (2015). OpenMP Specification.  OpenMP Architecture Review Board. 2015. OpenMP Application Program Interface (version 4.5). (2015). OpenMP Specification."},{"key":"e_1_2_2_4_1","unstructured":"Uday Bondhugula Muthu Baskaran Sriram Krishnamoorthy J. Ramanujam Atanas Rountev and P. Sadayappan. 2008. Automatic transformations for communication-minimized parallelization and locality optimization in the polyhedral model. In Compiler Construction.   Uday Bondhugula Muthu Baskaran Sriram Krishnamoorthy J. Ramanujam Atanas Rountev and P. Sadayappan. 2008. Automatic transformations for communication-minimized parallelization and locality optimization in the polyhedral model. In Compiler Construction."},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1177\/109434200001400303"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2751205.2751224"},{"key":"e_1_2_2_7_1","volume-title":"Proceedings of the 1998 ACM\/IEEE Conference on Supercomputing (SC\u201988)","author":"Callahan D."},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2015.44"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/IISWC.2009.5306797"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2155620.2155676"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2005.18"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/996841.996853"},{"key":"e_1_2_2_13_1","volume-title":"Retrieved","author":"Foundation Free Software","year":"2016"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/113445.113448"},{"key":"e_1_2_2_16_1","unstructured":"Intel. 2015b. Intel 64 and IA-32 Architectures Software Developers Manual.  Intel. 2015b. Intel 64 and IA-32 Architectures Software Developers Manual."},{"key":"e_1_2_2_17_1","volume-title":"Intel Composer XE 2015","year":"2016"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.5555\/2190025.2190061"},{"key":"e_1_2_2_19_1","unstructured":"Ken Kennedy and John R. Allen. 2002. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. Morgan Kaufmann Publishers Inc.   Ken Kennedy and John R. Allen. 2002. Optimizing Compilers for Modern Architectures: A Dependence-based Approach. Morgan Kaufmann Publishers Inc."},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-30961-8_5"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/567532.567555"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/349299.349320"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF02577874"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065034"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2011.68"},{"key":"e_1_2_2_26_1","volume-title":"Proceedings of the 2004 GCC Developers Summit.","author":"Naishlos Dorit","year":"2004"},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/951710.951714"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133255.1133997"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1454115.1454119"},{"key":"e_1_2_2_30_1","volume-title":"Proceedings of the 15th Workshop on Compilers for Parallel Computers (CPC\u201910)","author":"Pop Antoniu","year":"2010"},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/125826.125848"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2015.37"},{"key":"e_1_2_2_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/359327.359336"},{"key":"e_1_2_2_34_1","volume-title":"Retrieved","author":"Foundation The LLVM","year":"2016"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPSW.2012.292"},{"key":"e_1_2_2_36_1","volume-title":"Proceedings of the GCC Research Opportunities Workshop (GROW).","author":"Trifunovic Konrad","year":"2010"},{"key":"e_1_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2009.18"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3095754","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3095754","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:36:53Z","timestamp":1750217813000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3095754"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,8,22]]},"references-count":36,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2017,9,30]]}},"alternative-id":["10.1145\/3095754"],"URL":"https:\/\/doi.org\/10.1145\/3095754","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"value":"1544-3566","type":"print"},{"value":"1544-3973","type":"electronic"}],"subject":[],"published":{"date-parts":[[2017,8,22]]},"assertion":[{"value":"2016-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-05-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2017-08-22","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}