Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

SIMD programming by expansion.

Conference ·
OSTI ID:982619

Since its advent 30 years ago, single-instruction multiple-data (SIMD) functional units continue to provide an opportunity for high performance at a low hardware cost. However, a general consensus is that only a class of well-formed computations is suitable for SIMD execution. We believe that the boundary of the class should be pushed so that more applications can get the benefit of SIMD parallelism. Our goal is to provide programmers tools that will allow easier access to SIMD functional units. In this paper, we describe a new method to generate SIMD instructions automatically. Unlike the current approaches that target either loops or basic blocks, our approach targets a whole function. Instead of trying to keep the sequential execution semantics, we semantically transform the given input function by replacing the operators and operands with their SIMD counterparts. The output functions generated this way take vector arguments and return a vector value. We have implemented the new method in a compiler, called EXPAND, and show how to use it for user applications. To demonstrate the effectiveness of the new method, we apply the EXPAND compiler to 12 GNU math library intrinsic functions. When measured on a PowerPC G5, the transformed output codes achieve speedups ranging from 2.05 to 11.37 over the scalar baseline.

Research Organization:
Argonne National Laboratory (ANL)
Sponsoring Organization:
SC
DOE Contract Number:
AC02-06CH11357
OSTI ID:
982619
Report Number(s):
ANL/MCS/CP-59523
Country of Publication:
United States
Language:
ENGLISH

Similar Records

Introducing control flow into vectorized code.
Conference · Sun Dec 31 23:00:00 EST 2006 · OSTI ID:971147

Method and apparatus for asynchronous scheduling
Patent · Tue Jun 01 00:00:00 EDT 2021 · OSTI ID:1824026

Optimized scalar promotion with load and splat SIMD instructions
Patent · Tue Aug 28 00:00:00 EDT 2012 · OSTI ID:1058903