{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/towards-automatic-learning-of-heuristics-for","title":"Towards Automatic Learning of Heuristics for Mechanical Transformations of Procedural Code","arxiv_id":"1701.07123","date":"2017-01-25","proceeding":null,"authors":["Guillermo Vigueras","Manuel Carro","Salvador Tamarit","Julio Mariño"],"abstract":"The current trends in next-generation exascale systems go towards integrating\na wide range of specialized (co-)processors into traditional supercomputers.\nDue to the efficiency of heterogeneous systems in terms of Watts and FLOPS per\nsurface unit, opening the access of heterogeneous platforms to a wider range of\nusers is an important problem to be tackled. However, heterogeneous platforms\nlimit the portability of the applications and increase development complexity\ndue to the programming skills required. Program transformation can help make\nprogramming heterogeneous systems easier by defining a step-wise transformation\nprocess that translates a given initial code into a semantically equivalent\nfinal code, but adapted to a specific platform. Program transformation systems\nrequire the definition of efficient transformation strategies to tackle the\ncombinatorial problem that emerges due to the large set of transformations\napplicable at each step of the process. In this paper we propose a machine\nlearning-based approach to learn heuristics to define program transformation\nstrategies. Our approach proposes a novel combination of reinforcement learning\nand classification methods to efficiently tackle the problems inherent to this\ntype of systems. Preliminary results demonstrate the suitability of this\napproach.","url_abs":"http://arxiv.org/abs/1701.07123v1","url_pdf":"http://arxiv.org/pdf/1701.07123v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"towards-automatic-learning-of-heuristics-for","repo_url":"https://github.com/eliben/pycparser","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"reinforcement-learning","task_name":"Reinforcement Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}