Towards Automatic Learning of Heuristics for Mechanical Transformations of Procedural Code

The current trends in next-generation exascale systems go towards integrating a wide range of specialized (co-)processors into traditional supercomputers. Due to the efficiency of heterogeneous systems in terms of Watts and FLOPS per surface unit, opening the access of heterogeneous platforms to a w...

Full description

Bibliographic Details
Main Authors: Guillermo Vigueras, Manuel Carro, Salvador Tamarit, Julio Mariño
Format: Article
Language:English
Published: Open Publishing Association 2017-01-01
Series:Electronic Proceedings in Theoretical Computer Science
Online Access:http://arxiv.org/pdf/1701.07123v1
id doaj-f0ed38f04bd94504bf21ea968970ae4c
record_format Article
spelling doaj-f0ed38f04bd94504bf21ea968970ae4c2020-11-24T22:18:58ZengOpen Publishing AssociationElectronic Proceedings in Theoretical Computer Science2075-21802017-01-01237Proc. PROLE 2016526710.4204/EPTCS.237.4:16Towards Automatic Learning of Heuristics for Mechanical Transformations of Procedural CodeGuillermo Vigueras0Manuel Carro1Salvador Tamarit2Julio Mariño3 IMDEA Software Institute IMDEA Software Institute and Universidad Politécnica de Madrid Universidad Politécnica de Madrid Universidad Politécnica de Madrid The current trends in next-generation exascale systems go towards integrating a wide range of specialized (co-)processors into traditional supercomputers. Due to the efficiency of heterogeneous systems in terms of Watts and FLOPS per surface unit, opening the access of heterogeneous platforms to a wider range of users is an important problem to be tackled. However, heterogeneous platforms limit the portability of the applications and increase development complexity due to the programming skills required. Program transformation can help make programming heterogeneous systems easier by defining a step-wise transformation process that translates a given initial code into a semantically equivalent final code, but adapted to a specific platform. Program transformation systems require the definition of efficient transformation strategies to tackle the combinatorial problem that emerges due to the large set of transformations applicable at each step of the process. In this paper we propose a machine learning-based approach to learn heuristics to define program transformation strategies. Our approach proposes a novel combination of reinforcement learning and classification methods to efficiently tackle the problems inherent to this type of systems. Preliminary results demonstrate the suitability of this approach.http://arxiv.org/pdf/1701.07123v1
collection DOAJ
language English
format Article
sources DOAJ
author Guillermo Vigueras
Manuel Carro
Salvador Tamarit
Julio Mariño
spellingShingle Guillermo Vigueras
Manuel Carro
Salvador Tamarit
Julio Mariño
Towards Automatic Learning of Heuristics for Mechanical Transformations of Procedural Code
Electronic Proceedings in Theoretical Computer Science
author_facet Guillermo Vigueras
Manuel Carro
Salvador Tamarit
Julio Mariño
author_sort Guillermo Vigueras
title Towards Automatic Learning of Heuristics for Mechanical Transformations of Procedural Code
title_short Towards Automatic Learning of Heuristics for Mechanical Transformations of Procedural Code
title_full Towards Automatic Learning of Heuristics for Mechanical Transformations of Procedural Code
title_fullStr Towards Automatic Learning of Heuristics for Mechanical Transformations of Procedural Code
title_full_unstemmed Towards Automatic Learning of Heuristics for Mechanical Transformations of Procedural Code
title_sort towards automatic learning of heuristics for mechanical transformations of procedural code
publisher Open Publishing Association
series Electronic Proceedings in Theoretical Computer Science
issn 2075-2180
publishDate 2017-01-01
description The current trends in next-generation exascale systems go towards integrating a wide range of specialized (co-)processors into traditional supercomputers. Due to the efficiency of heterogeneous systems in terms of Watts and FLOPS per surface unit, opening the access of heterogeneous platforms to a wider range of users is an important problem to be tackled. However, heterogeneous platforms limit the portability of the applications and increase development complexity due to the programming skills required. Program transformation can help make programming heterogeneous systems easier by defining a step-wise transformation process that translates a given initial code into a semantically equivalent final code, but adapted to a specific platform. Program transformation systems require the definition of efficient transformation strategies to tackle the combinatorial problem that emerges due to the large set of transformations applicable at each step of the process. In this paper we propose a machine learning-based approach to learn heuristics to define program transformation strategies. Our approach proposes a novel combination of reinforcement learning and classification methods to efficiently tackle the problems inherent to this type of systems. Preliminary results demonstrate the suitability of this approach.
url http://arxiv.org/pdf/1701.07123v1
work_keys_str_mv AT guillermovigueras towardsautomaticlearningofheuristicsformechanicaltransformationsofproceduralcode
AT manuelcarro towardsautomaticlearningofheuristicsformechanicaltransformationsofproceduralcode
AT salvadortamarit towardsautomaticlearningofheuristicsformechanicaltransformationsofproceduralcode
AT juliomarino towardsautomaticlearningofheuristicsformechanicaltransformationsofproceduralcode
_version_ 1725780905380806656