{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,7]],"date-time":"2025-11-07T09:00:33Z","timestamp":1762506033144,"version":"3.41.0"},"reference-count":31,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2013,1,1]],"date-time":"2013-01-01T00:00:00Z","timestamp":1356998400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Archit. Code Optim."],"published-print":{"date-parts":[[2013,1]]},"abstract":"<jats:p>Optimizing programs to exploit the underlying hardware architecture is an important task. Much research has been done on enabling compilers to find the best set of code optimizations that can build the fastest and less resource-hungry executable for a given program. A common approach is iterative compilation, sometimes enriched by machine learning techniques. This provides good results, but requires extremely long compilation times and an initial training phase lasting even for days or weeks.<\/jats:p>\n          <jats:p>We present long-term learning, a new algorithm that allows the compiler user to improve the performance of compiled programs with reduced compilation times with respect to iterative compilation, and without an initial training phase. Our algorithm does not just build good programs: it acquires knowledge every time a program is compiled and it uses such knowledge to learn compiler heuristics, without the need for an expert to manually define them. The heuristics are evolved during every compilation, by evaluating their effect on the generated programs. We present implementations of long-term learning on top of two different compilers, and experimental data gathered on multiple hardware configurations showing its effectiveness.<\/jats:p>","DOI":"10.1145\/2400682.2400705","type":"journal-article","created":{"date-parts":[[2013,1,22]],"date-time":"2013-01-22T15:28:56Z","timestamp":1358868536000},"page":"1-25","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":26,"title":["Continuous learning of compiler heuristics"],"prefix":"10.1145","volume":"9","author":[{"given":"Michele","family":"Tartara","sequence":"first","affiliation":[{"name":"Politecnico di Milano, Italy"}]},{"given":"Stefano","family":"Crespi Reghizzi","sequence":"additional","affiliation":[{"name":"Politecnico di Milano, Italy"}]}],"member":"320","published-online":{"date-parts":[[2013,1,20]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2006.37"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542481"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2001576.2001805"},{"key":"e_1_2_1_4_1","volume-title":"Lagrange: Un nuovo server per il calcolo ad alte pretazioni. Bollettino del CILEA 0, 110.","author":"Arlandini C.","year":"2008","unstructured":"Arlandini , C. and Invernizzi , A . 2008 . Lagrange: Un nuovo server per il calcolo ad alte pretazioni. Bollettino del CILEA 0, 110. Arlandini, C. and Invernizzi, A. 2008. Lagrange: Un nuovo server per il calcolo ad alte pretazioni. Bollettino del CILEA 0, 110."},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of the Workshop on OnLine Algorithms. Springer, 306--325","author":"Blum A.","year":"1996","unstructured":"Blum , A. 1996 . On-Line algorithms in machine learning . In Proceedings of the Workshop on OnLine Algorithms. Springer, 306--325 . Blum, A. 1996. On-Line algorithms in machine learning. In Proceedings of the Workshop on OnLine Algorithms. Springer, 306--325."},{"volume-title":"Proceedings of the Workshop on Profile and Feedback Directed Compilation in conjunction with the International Conference on Parallel Architectures and Compilation Techniques (PACT).","author":"Bodin F.","key":"e_1_2_1_6_1","unstructured":"Bodin , F. , Kisuki , T. , Knijnenburg , P. , O'Boyle , M. , and Rohou , E . 1998. Iterative compilation in a non-linear optimization space . In Proceedings of the Workshop on Profile and Feedback Directed Compilation in conjunction with the International Conference on Parallel Architectures and Compilation Techniques (PACT). Bodin, F., Kisuki, T., Knijnenburg, P., O'Boyle, M., and Rohou, E. 1998. Iterative compilation in a non-linear optimization space. In Proceedings of the Workshop on Profile and Feedback Directed Compilation in conjunction with the International Conference on Parallel Architectures and Compilation Techniques (PACT)."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2007.32"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1242531.1242553"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1669112.1669124"},{"volume-title":"What is evolutionary computation&quest","author":"Fogel G.","key":"e_1_2_1_10_1","unstructured":"Fogel , G. 2000. What is evolutionary computation&quest ; IEEE Spectrum 37, 2, 26--32. Fogel, G. 2000. What is evolutionary computation&quest; IEEE Spectrum 37, 2, 26--32."},{"key":"e_1_2_1_11_1","unstructured":"Fursin G. 2010. Collective benchmark (cbench) a collection of open-source programs with multiple datasets assembled by the community to enable realistic benchmarking and research on program and architecture optimization. http:\/\/ctuning.org\/cbench  Fursin G. 2010. Collective benchmark (cbench) a collection of open-source programs with multiple datasets assembled by the community to enable realistic benchmarking and research on program and architecture optimization. http:\/\/ctuning.org\/cbench"},{"volume-title":"Proceedings of the International Conference on High Performance Embedded Architectures & Compilers. 245--260","author":"Fursin G.","key":"e_1_2_1_12_1","unstructured":"Fursin , G. , Cavazos , J. , O'Boyle , M. F. P. , and Temam , O . 2007 Midatasets: Creating the conditions for a more realistic evaluation of iterative optimization . In Proceedings of the International Conference on High Performance Embedded Architectures & Compilers. 245--260 . Fursin, G., Cavazos, J., O'Boyle, M. F. P., and Temam, O. 2007 Midatasets: Creating the conditions for a more realistic evaluation of iterative optimization. In Proceedings of the International Conference on High Performance Embedded Architectures & Compilers. 245--260."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10766-010-0161-2"},{"key":"e_1_2_1_14_1","volume-title":"Proceedings of the GCC Developers Summit.","author":"Fursin G.","year":"2008","unstructured":"Fursin , G. , Miranda , C. , Temam , O. , Namolaru , M. , Yom-Tov , E. , 2008 . Milepost gcc: Machine learning based research compiler . In Proceedings of the GCC Developers Summit. Fursin, G., Miranda, C., Temam, O., Namolaru, M., Yom-Tov, E., et al. 2008. Milepost gcc: Machine learning based research compiler. In Proceedings of the GCC Developers Summit."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1880043.1880047"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.5555\/1128020.1128563"},{"key":"e_1_2_1_17_1","doi-asserted-by":"crossref","unstructured":"Kaelbling L. P. Littman M. L. and Moore A. W. 1996. Reinforcement learning: A survey. CoRR csAI\/9605103.  Kaelbling L. P. Littman M. L. and Moore A. W. 1996. Reinforcement learning: A survey. CoRR csAI\/9605103.","DOI":"10.1613\/jair.301"},{"key":"e_1_2_1_18_1","unstructured":"Kisuki T. Knijnenburg P. O'Boyle M. and Wijshoff H. A. G. 2000. Iterative compilation in program optimization. http:\/\/citeseerx.ist.psu.edu\/viewdoc\/summary&quest;doi=10.1.1.36.3007  Kisuki T. Knijnenburg P. O'Boyle M. and Wijshoff H. A. G. 2000. Iterative compilation in program optimization. http:\/\/citeseerx.ist.psu.edu\/viewdoc\/summary&quest;doi=10.1.1.36.3007"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the 14th International Joint Conference on Artificial Intelligence. 1137--1145","author":"Kohavi R.","year":"1995","unstructured":"Kohavi , R. 1995 . A study of cross- validation and bootstrap for accuracy estimation and model selection . In Proceedings of the 14th International Joint Conference on Artificial Intelligence. 1137--1145 . Kohavi, R. 1995. A study of cross- validation and bootstrap for accuracy estimation and model selection. In Proceedings of the 14th International Joint Conference on Artificial Intelligence. 1137--1145."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/996841.996863"},{"volume-title":"Proceedings of the International Symposium on Code Generation and Optimization. 75--88","author":"Lattner C.","key":"e_1_2_1_21_1","unstructured":"Lattner , C. and Adve , V. S . 2004. LLVM: A compilation framework for lifelong program analysis & transformation . In Proceedings of the International Symposium on Code Generation and Optimization. 75--88 . Lattner, C. and Adve, V. S. 2004. LLVM: A compilation framework for lifelong program analysis & transformation. In Proceedings of the International Symposium on Code Generation and Optimization. 75--88."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2009.21"},{"key":"e_1_2_1_24_1","volume-title":"Proceedings of the 5th Workshop on Statistical and Machine Learning Approaches to Architecture and Compliation (SMART'11)","author":"Long S.","year":"2011","unstructured":"Long , S. 2011 . Sustainable learning-based optimization based on rknm outlier detection . In Proceedings of the 5th Workshop on Statistical and Machine Learning Approaches to Architecture and Compliation (SMART'11) . Long, S. 2011. Sustainable learning-based optimization based on rknm outlier detection. In Proceedings of the 5th Workshop on Statistical and Machine Learning Approaches to Architecture and Compliation (SMART'11)."},{"volume-title":"Proceeedings of the GCC Summit","author":"Merrill J.","key":"e_1_2_1_25_1","unstructured":"Merrill , J. 2003. GENERIC and GIMPLE: A new tree representation for entire functions . In Proceeedings of the GCC Summit . Red Hat Inc . Merrill, J. 2003. GENERIC and GIMPLE: A new tree representation for entire functions. In Proceeedings of the GCC Summit. Red Hat Inc."},{"volume-title":"Proceedings of the 10th International Conference on Artificial Intelligence: Methodology, Systems, and Applications. 41--50","author":"Monsifrot A.","key":"e_1_2_1_26_1","unstructured":"Monsifrot , A. , Bodin , F. , and Quiniou , R . 2002. A machine learning approach to automatic production of compiler heuristics . In Proceedings of the 10th International Conference on Artificial Intelligence: Methodology, Systems, and Applications. 41--50 . Monsifrot, A., Bodin, F., and Quiniou, R. 2002. A machine learning approach to automatic production of compiler heuristics. In Proceedings of the 10th International Conference on Artificial Intelligence: Methodology, Systems, and Applications. 41--50."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1878921.1878951"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2038698.2038711"},{"key":"e_1_2_1_29_1","unstructured":"Russell S. J. and Norvig P. 2010. Artificial Intelligence -- A Modern Approach 3rd ED. Pearson Education.   Russell S. J. and Norvig P. 2010. Artificial Intelligence -- A Modern Approach 3 rd ED. Pearson Education."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781141"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2287016.2287023"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-13374-9_28"}],"container-title":["ACM Transactions on Architecture and Code Optimization"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2400682.2400705","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2400682.2400705","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:18:52Z","timestamp":1750234732000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2400682.2400705"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,1]]},"references-count":31,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2013,1]]}},"alternative-id":["10.1145\/2400682.2400705"],"URL":"https:\/\/doi.org\/10.1145\/2400682.2400705","relation":{},"ISSN":["1544-3566","1544-3973"],"issn-type":[{"type":"print","value":"1544-3566"},{"type":"electronic","value":"1544-3973"}],"subject":[],"published":{"date-parts":[[2013,1]]},"assertion":[{"value":"2012-06-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2012-11-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2013-01-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}