10 research outputs found

    A Survey on Compiler Autotuning using Machine Learning

    Full text link
    Since the mid-1990s, researchers have been trying to use machine-learning based approaches to solve a number of different compiler optimization problems. These techniques primarily enhance the quality of the obtained results and, more importantly, make it feasible to tackle two main compiler optimization problems: optimization selection (choosing which optimizations to apply) and phase-ordering (choosing the order of applying optimizations). The compiler optimization space continues to grow due to the advancement of applications, increasing number of compiler optimizations, and new target architectures. Generic optimization passes in compilers cannot fully leverage newly introduced optimizations and, therefore, cannot keep up with the pace of increasing options. This survey summarizes and classifies the recent advances in using machine learning for the compiler optimization field, particularly on the two major problems of (1) selecting the best optimizations and (2) the phase-ordering of optimizations. The survey highlights the approaches taken so far, the obtained results, the fine-grain classification among different approaches and finally, the influential papers of the field.Comment: version 5.0 (updated on September 2018)- Preprint Version For our Accepted Journal @ ACM CSUR 2018 (42 pages) - This survey will be updated quarterly here (Send me your new published papers to be added in the subsequent version) History: Received November 2016; Revised August 2017; Revised February 2018; Accepted March 2018

    MLGOPerf: An ML Guided Inliner to Optimize Performance

    Full text link
    For the past 25 years, we have witnessed an extensive application of Machine Learning to the Compiler space; the selection and the phase-ordering problem. However, limited works have been upstreamed into the state-of-the-art compilers, i.e., LLVM, to seamlessly integrate the former into the optimization pipeline of a compiler to be readily deployed by the user. MLGO was among the first of such projects and it only strives to reduce the code size of a binary with an ML-based Inliner using Reinforcement Learning. This paper presents MLGOPerf; the first end-to-end framework capable of optimizing performance using LLVM's ML-Inliner. It employs a secondary ML model to generate rewards used for training a retargeted Reinforcement learning agent, previously used as the primary model by MLGO. It does so by predicting the post-inlining speedup of a function under analysis and it enables a fast training framework for the primary model which otherwise wouldn't be practical. The experimental results show MLGOPerf is able to gain up to 1.8% and 2.2% with respect to LLVM's optimization at O3 when trained for performance on SPEC CPU2006 and Cbench benchmarks, respectively. Furthermore, the proposed approach provides up to 26% increased opportunities to autotune code regions for our benchmarks which can be translated into an additional 3.7% speedup value.Comment: Version 2: Added the missing Table 6. The short version of this work is accepted at ACM/IEEE CASES 202

    SOCRATES - A seamless online compiler and system runtime autotuning framework for energy-aware applications

    Get PDF
    Configuring program parallelism and selecting optimal compiler options according to the underlying platform architecture is a difficult task. Tipically, this task is either assigned to the programmer or done by a standard one-fits-all policy generated by the compiler or runtime system. A runtime selection of the best configuration requires the insertion of a lot of glue code for profiling and runtime selection. This represents a programming wall for application developers. This paper presents a structured approach, called SOCRATES, based on an aspect-oriented language (LARA) and a runtime autotuner (mARGOt) to mitigate this problem. LARA has been used to hide the glue code insertion, thus separating the pure functional application description from extra-functional requirements. mARGOT has been used for the automatic selection of the best configuration according to the runtime evolution of the application.

    Wilcox Molecular Torsion Balance with Rigid Side Arm and Separable Atropisomers for Investigating CH−π Interactions

    No full text
    A new variant of the Wilcox molecular torsion balance featuring a naphthyl-alkyl side arm was synthesized. The energy barrier for axial isomerization in the new balance was sufficiently high to allow for separation of the two rotamers and to observe their isomerization kinetics. The CH−π interaction energies in derivatives of the new and the original ester balance were in close agreement, suggesting that the motion in ester linkage is not an important factor in folding in the ester balance

    Autotuning and adaptivity in energy efficient HPC systems: The ANTAREX toolbox (invited paper)

    Get PDF
    Designing and optimizing applications for energy-efficient High Performance Computing systems up to the Exascale era is an extremely challenging problem. This paper presents the toolbox developed in the ANTAREX European project for autotuning and adaptivity in energy efficient HPC systems. In particular, the modules of the ANTAREX toolbox are described as well as some preliminary results of the application to two target use cases

    Benchmarking plant diversity of Palaearctic grasslands and other open habitats

    No full text
    Abstract Aims: Understanding fine-grain diversity patterns across large spatial extents is fundamental for macroecological research and biodiversity conservation. Using the GrassPlot database, we provide benchmarks of fine-grain richness values of Palaearctic open habitats for vascular plants, bryophytes, lichens and complete vegetation (i.e., the sum of the former three groups). Location: Palaearctic biogeographic realm. Methods: We used 126,524 plots of eight standard grain sizes from the GrassPlot database: 0.0001, 0.001, 0.01, 0.1, 1, 10, 100 and 1,000 mÂČ and calculated the mean richness and standard deviations, as well as maximum, minimum, median, and first and third quartiles for each combination of grain size, taxonomic group, biome, region, vegetation type and phytosociological class. Results: Patterns of plant diversity in vegetation types and biomes differ across grain sizes and taxonomic groups. Overall, secondary (mostly semi-natural) grasslands and natural grasslands are the richest vegetation type. The open-access file ”GrassPlot Diversity Benchmarks” and the web tool “GrassPlot Diversity Explorer” are now available online (https://edgg.org/databases/GrasslandDiversityExplorer) and provide more insights into species richness patterns in the Palaearctic open habitats. Conclusions: The GrassPlot Diversity Benchmarks provide high-quality data on species richness in open habitat types across the Palaearctic. These benchmark data can be used in vegetation ecology, macroecology, biodiversity conservation and data quality checking. While the amount of data in the underlying GrassPlot database and their spatial coverage are smaller than in other extensive vegetation-plot databases, species recordings in GrassPlot are on average more complete, making it a valuable complementary data source in macroecology
    corecore