Towards Automatic Learning of Heuristics for Mechanical Transformations of Procedural Code

01/25/2017
by   Guillermo Vigueras, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/15/2023

Machine Learning-Driven Adaptive OpenMP For Portable Performance on Heterogeneous Systems

Heterogeneity has become a mainstream architecture design choice for bui...
research
11/21/2021

Challenging Machine Learning-based Clone Detectors via Semantic-preserving Code Transformations

Software clone detection identifies similar code snippets. It has been a...
research
09/05/2022

Inferring Region Types via an Abstract Notion of Environment Transformation

Region-based type systems are a powerful tool for various kinds of progr...
research
10/06/2019

Design and Use of Loop-Transformation Pragmas

Adding a pragma directive into the source code is arguably easier than r...
research
04/30/2018

Towards the Automation of Metamorphic Testing in Model Transformations

Model transformations are the cornerstone of Model-Driven Engineering, a...
research
09/04/2019

Inductive Bias-driven Reinforcement Learning For Efficient Schedules in Heterogeneous Clusters

The problem of scheduling of workloads onto heterogeneous processors (e....
research
11/28/2016

Blocking and Other Enhancements for Bottom-Up Model Generation Methods

Model generation is a problem complementary to theorem proving and is im...

Please sign up or login with your details

Forgot password? Click here to reset