VarVE: Bringing SIMD Performance to Variable-Width Values
Processor datapaths grew from 4 to 512 bits via Single-Instruction-Multiple-Data (SIMD) parallelism. SIMD applies the same operation to multiple values, which increases performance and reduces the instruction count. However, these evolvements do not provide support for variable-width values, so programmers ‘pad’ values to align to outliers, wasting the upper bits with zeros in both registers and datapath. We propose VarVE, a vector instruction set extension built upon the state-of-the-art vector-length agnostic SIMD instruction set: ARM SVE. VarVE provides native support for variable-width values within a vector, avoiding padding waste, thus making better use of the SIMD datapath. VarVE's design enables a flexible strip mining model with a variety of optimizations. Evaluation of VarVE shows 60x speedup over ARM in kernels with element packing and unpacking, and 1.3x - 5.4x speedup over SVE for pure-compute filtering in TPC-H benchmarks. VarVE also achieves 2x speedup on a neural network inference task. All these results exemplify VarVE's general ability to improve datapath and memory system efficiency.
Authors
- Andrew A. Chien (ORCID: https://orcid.org/0000-0002-1204-206X)
- Chen Zou (ORCID: https://orcid.org/0000-0003-0120-4032)
Institutions
- Argonne National Laboratory (US)
- Google (United States) (US)
- University of Chicago (US)
- Bellevue Hospital Center (US)
Publication Details
- Published
- 2024-11-18
- DOI
- https://doi.org/10.1109/iccd63220.2024.00070
- Primary Topic
- Algorithms and Data Compression
- Type
- article
- Field-Weighted Citation Impact
- 0.00