Runtime Multi-versioning and Specialization inside a Memoized Speculative Loop Optimizer - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2020

Runtime Multi-versioning and Specialization inside a Memoized Speculative Loop Optimizer

Résumé

In this paper, we propose a runtime framework that implements code multi-versioning and specialization to optimize and parallelize loop kernels that are invoked many times with varying parameters. These parameters may influence the code structure, the touched memory locations, the work-load, and the runtime performance. They may also impact the validity of the parallelizing and optimizing polyhedral transformations that are applied on-the-fly. For a target loop kernel and its associated parameters, a different optimizing and parallelizing transformation is evaluated at each invocation, among a finite set of transformations (multi-versioning and specialization). The best performing transformed code version is stored and indexed using its associated parameters. When every optimizing transformation has been evaluated, the best performing code version regarding the current parameters, which has been stored, is relaunched at next invocations (memoization).
Fichier principal
Vignette du fichier
main.pdf (1.16 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-02457425 , version 1 (28-01-2020)

Identifiants

Citer

Raquel Lazcano, Daniel Madroñal, Eduardo Juarez, Philippe Clauss. Runtime Multi-versioning and Specialization inside a Memoized Speculative Loop Optimizer. CC 2020 - 29th International Conference on Compiler Construction, Feb 2020, San Diego, United States. ⟨10.1145/3377555.3377886⟩. ⟨hal-02457425⟩
118 Consultations
272 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More