Evaluation of compilers' capability of automatic vectorization based on source code analysis

JG Feng, YP He, QM Tao - Scientific Programming, 2021 - Wiley Online Library
Automatic vectorization is an important technique for compilers to improve the parallelism of
programs. With the widespread usage of SIMD (Single Instruction Multiple Data) extensions …

AnyDSL: a partial evaluation framework for programming high-performance libraries

R Leißa, K Boesche, S Hack, A Pérard-Gayot… - Proceedings of the …, 2018 - dl.acm.org
This paper advocates programming high-performance code using partial evaluation. We
present a clean-slate programming system with a simple, annotation-based, online partial …

Side-channel elimination via partial control-flow linearization

L Soares, M Canesche, FMQ Pereira - ACM Transactions on …, 2023 - dl.acm.org
Partial control-flow linearization is a code transformation conceived to maximize work
performed in vectorized programs. In this article, we find a new service for it. We show that …

All you need is superword-level parallelism: systematic control-flow vectorization with SLP

Y Chen, C Mendis, S Amarasinghe - Proceedings of the 43rd ACM …, 2022 - dl.acm.org
Superword-level parallelism (SLP) vectorization is a proven technique for vectorizing
straight-line code. It works by replacing independent, isomorphic instructions with equivalent …

Vectorization-aware loop unrolling with seed forwarding

RCO Rocha, V Porpodas, P Petoumenos… - Proceedings of the 29th …, 2020 - dl.acm.org
Loop unrolling is a widely adopted loop transformation, commonly used for enabling
subsequent optimizations. Straight-line-code vectorization (SLP) is an optimization that …

DARM: control-flow melding for SIMT thread divergence reduction

C Saumya, K Sundararajah… - 2022 IEEE/ACM …, 2022 - ieeexplore.ieee.org
GPGPUs use the Single-Instruction-Multiple-Thread (SIMT) execution model where a group
of threads—wavefront or warp—execute instructions in lockstep. When threads in a group …

Specfuscator: Evaluating branch removal as a Spectre mitigation

M Schwarzl, C Canella, D Gruss, M Schwarz - Financial Cryptography and …, 2021 - Springer
Attacks exploiting speculative execution, known as Spectre attacks, have gained substantial
attention in the scientific community and in industry with a broad range of defense …

Super-Node SLP: Optimized vectorization for code sequences containing operators and their inverse elements

V Porpodas, RCO Rocha, E Brevnov… - 2019 IEEE/ACM …, 2019 - ieeexplore.ieee.org
SLP Auto-vectorization converts straight-line code into vector code. It scans input code for
groups of instructions that can be combined into vectors and replaces them with their …

Memory-safe elimination of side channels

L Soares, FMQ Pereira - 2021 IEEE/ACM International …, 2021 - ieeexplore.ieee.org
A program is said to be isochronous if its running time does not depend on classified
information. The programming languages literature contains much work that transforms …

Pointer-based divergence analysis for OpenCL 2.0 programs

SC Wang, LY Yu, LA Her, YS Hwang… - ACM Transactions on …, 2021 - dl.acm.org
A modern GPU is designed with many large thread groups to achieve a high throughput and
performance. Within these groups, the threads are grouped into fixed-size SIMD batches in …