If-Conversion Optimization using Neuro Evolution of Augmenting Topologies
Reem Elkhouly, Keiji Kimura, Ahmed El-Mahdy

TL;DR
This paper introduces a machine learning-based approach using NEAT for if-conversion optimization, enabling tailored transformations across program branches to improve performance on multicore systems.
Contribution
It presents a novel NEAT-based method for adaptive if-conversion that considers all branches collectively, unlike previous rigid heuristics, and is applicable to general-purpose languages.
Findings
Achieved up to 8.6% performance improvement over standard LLVM optimization.
Demonstrated effectiveness on SPEC-CPU2006 benchmarks.
Applicable to heterogeneous systems and transparent to programmers.
Abstract
Control-flow dependence is an intrinsic limiting factor for pro- gram acceleration. With the availability of instruction-level par- allel architectures, if-conversion optimization has, therefore, be- come pivotal for extracting parallelism from serial programs. While many if-conversion optimization heuristics have been proposed in the literature, most of them consider rigid criteria regardless of the underlying hardware and input programs. In this paper, we propose a novel if-conversion scheme that preforms an efficient if-conversion transformation using a machine learning technique (NEAT). This method enables if-conversion customization overall branches within a program unlike the literature that considered in- dividual branches. Our technique also provides flexibility required when compiling for heterogeneous systems. The efficacy of our approach is shown by experiments and reported…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsIterative Learning Control Systems · Parallel Computing and Optimization Techniques · Neural Networks and Applications
