Polyhedral-based dynamic loop pipelining for high-level synthesis
Loop pipelining is one of the most important optimization methods in high-level synthesis
(HLS) for increasing loop parallelism. There has been considerable work on improving loop …
(HLS) for increasing loop parallelism. There has been considerable work on improving loop …
Generating piecewise-regular code from irregular structures
T Augustine, J Sarma, LN Pouchet… - Proceedings of the 40th …, 2019 - dl.acm.org
Irregular data structures, as exemplified with sparse matrices, have proved to be essential in
modern computing. Numerous sparse formats have been investigated to improve the overall …
modern computing. Numerous sparse formats have been investigated to improve the overall …
Full runtime polyhedral optimizing loop transformations with the generation, instantiation, and scheduling of code‐bones
JM Martinez Caamaño, M Selva… - Concurrency and …, 2017 - Wiley Online Library
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 …
optimization and parallelization. The main benefit of this technique, compared to previous …
Automatically harnessing sparse acceleration
Sparse linear algebra is central to many scientific programs, yet compilers fail to optimize it
well. High-performance libraries are available, but adoption costs are significant. Moreover …
well. High-performance libraries are available, but adoption costs are significant. Moreover …
APOLLO: Automatic speculative polyhedral loop optimizer
A few weeks ago, we were glad to announce the first release of Apollo, the Automatic
speculative POLyhedral Loop Opti-mizer. Apollo applies polyhedral optimizations on-the-fly …
speculative POLyhedral Loop Opti-mizer. Apollo applies polyhedral optimizations on-the-fly …
Runtime multi-versioning and specialization inside a memoized speculative loop optimizer
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 …
specialization to optimize and parallelize loop kernels that are invoked many times with …
[HTML][HTML] Fast data-dependence profiling through prior static analysis
M Norouzi, N Morew, Q Ilias, L Rothenberger… - Parallel Computing, 2024 - Elsevier
Data-dependence profiling is a program-analysis technique for detecting parallelism
opportunities in sequential programs. It captures data dependences that actually occur …
opportunities in sequential programs. It captures data dependences that actually occur …
AutoParallel: Automatic parallelisation and distributed execution of affine loop nests in Python
The last improvements in programming languages and models have focused on simplicity
and abstraction; leading Python to the top of the list of the programming languages …
and abstraction; leading Python to the top of the list of the programming languages …
Affine modeling of program traces
A formal, high-level representation of programs is typically needed for static and dynamic
analyses performed by compilers. However, the source code of target applications is not …
analyses performed by compilers. However, the source code of target applications is not …
Autovesk: Automatic vectorized code generation from unstructured static kernels using graph transformations
Leveraging the SIMD capability of modern CPU architectures is mandatory to take full
advantage of their increased performance. To exploit this capability, binary executables …
advantage of their increased performance. To exploit this capability, binary executables …