z-logo
Premium
Full runtime polyhedral optimizing loop transformations with the generation, instantiation, and scheduling of code‐bones
Author(s) -
Martinez Caamaño Juan Manuel,
Selva Manuel,
Clauss Philippe,
Baloian Artyom,
Wolff Willy
Publication year - 2017
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.4192
Subject(s) - computer science , parallel computing , code generation , polytope model , compile time , granularity , compiler , code (set theory) , loop tiling , loop (graph theory) , runtime system , dead code , scheduling (production processes) , overhead (engineering) , unreachable code , programming language , just in time compilation , computation , redundant code , operating system , set (abstract data type) , polytope , operations management , mathematics , discrete mathematics , combinatorics , key (lock) , economics
Summary In this paper, we present a new runtime code generation technique for speculative loop optimization and parallelization. The main benefit of this technique, compared to previous approaches, is to enable advanced optimizing loop transformations at runtime with an acceptable time overhead. The loop transformations that may be applied are those handled by the polyhedral model. The proposed code generation strategy is based on the generation of “code‐bones” at compile‐time, which are parametrized code snippets either dedicated to speculation management or to computations of the original target program. These code‐bones are then instantiated and assembled at runtime to constitute the speculatively optimized code, as soon as an optimizing polyhedral transformation has been determined. Their granularity threshold is sufficient to apply any polyhedral transformation, while still enabling fast runtime code generation. This approach has been implemented in the speculative loop parallelizing framework APOLLO.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here