Loner: Utilizing the CPU Vector Datapath to Process Scalar Integer Data

1Citations
Citations of this article
5Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Modern CPUs utilize SIMD vector instructions and hardware extensions to accelerate code with data-level parallelism. This allows for high performance gains in select application domains such as image and signal processing. However, general purpose code often lacks data-level parallelism or has complex control and data dependencies, which prevents vectorization. Thus, CPU vector registers and functional units frequently sit idle while the scalar datapath unilaterally executes code. In this paper, we present Loner, a profile-guided compiler methodology for optimizing scalar integer loops using the otherwise idle vector datapath. Loner expands the traditional definition of vectorization by identifying two situations where it is beneficial to perform vector operations with a single data element ("Loner"data). In the first, the scalar register file and functional units are overburdened, resulting in unnecessary spill/reload operations and stalls due to structural hazards. In the second, we describe a set of "vector-Amenable"computation patterns that the vector pipeline naturally executes more efficiently than its scalar counterpart. Loner identifies hot code regions that exhibit either characteristic and offloads a subset of a program's computation graph to the vector datapath for maximum performance. We evaluate Loner on an x86 Whiskey Lake processor using select benchmarks from the SPEC, GAP, and MiBench benchmark suites where it improves performance by 2.64% (geomean) up to 40.28%.

Cite

CITATION STYLE

APA

Behroozi, A., Park, S., & Mahlke, S. (2022). Loner: Utilizing the CPU Vector Datapath to Process Scalar Integer Data. In CC 2022 - Proceedings of the 31st ACM SIGPLAN International Conference on Compiler Construction (pp. 205–217). Association for Computing Machinery, Inc. https://doi.org/10.1145/3497776.3517767

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free