Runtime multi-versioning and specialization inside a memoized speculative loop optimizer
Raquel Lazcano, Daniel Madroñal, Eduardo Juárez, Philippe Clauss · 2020
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 workload, and the runtime performance. They may also impact the validity of the parallelizing and optimizing polyhedral transformations that are applied on-the-fly.