학술논문

Improving Predication Efficiency through Compaction/Restoration of SIMD Instructions
Document Type
Conference
Source
2020 IEEE International Symposium on High Performance Computer Architecture (HPCA) High Performance Computer Architecture (HPCA), 2020 IEEE International Symposium on. :717-728 Feb, 2020
Subject
Components, Circuits, Devices and Systems
Computing and Processing
Registers
Computer architecture
Program processors
Hardware
Benchmark testing
Compaction
Parallel processing
SIMD
Energy effiency
Predication
Language
ISSN
2378-203X
Abstract
Vector processors offer a wide range of unexplored opportunities to improve performance and energy efficiency. However, despite its potential, vector code generation and execution have significant challenges, the most relevant ones being control flow divergence. Most modern processors including SIMD extensions (such as AVX) rely on predication to support divergence control. In predicated codes, performance and energy consumption are usually insensitive to the number of true values in a predicated mask. This implies that the system efficiency becomes sub-optimal as vector length increases. In this paper we focus on SIMD extensions and propose a novel approach to improve execution efficiency in predicated SIMD instructions, the Compaction/Restoration (CR) technique. CR delays predicated SIMD instructions with inactive elements and compacts them with instances of the same instruction from different loop iterations to form an equivalent dense vector instruction, where, in the best case, all the elements are active. After executing such dense instructions, their results are restored to the original instructions. Our evaluation shows that CR improves performance by up to 25% and reduces dynamic energy consumption by up to 43% on real unmodified applications with predicated execution. Moreover, CR allows executing unmodified legacy code with short vector instructions (AVX-2) on newer architectures with wider vectors (AVX-512), achieving up to 56% performance benefits.