Invention Grant
US08370817B2 Optimizing scalar code executed on a SIMD engine by alignment of SIMD slots
失效
通过SIMD插槽的对齐来优化在SIMD引擎上执行的标量码
- Patent Title: Optimizing scalar code executed on a SIMD engine by alignment of SIMD slots
- Patent Title (中): 通过SIMD插槽的对齐来优化在SIMD引擎上执行的标量码
-
Application No.: US12127491Application Date: 2008-05-27
-
Publication No.: US08370817B2Publication Date: 2013-02-05
- Inventor: Alexandre E. Eichenberger , John Kevin Patrick O'Brien
- Applicant: Alexandre E. Eichenberger , John Kevin Patrick O'Brien
- Applicant Address: US NY Armonk
- Assignee: International Business Machines Corporation
- Current Assignee: International Business Machines Corporation
- Current Assignee Address: US NY Armonk
- Agent Francis Lammes; Stephen J. Walder, Jr.; Matthew B. Talpis
- Main IPC: G06F9/45
- IPC: G06F9/45 ; G06F15/00

Abstract:
A mechanism is provided for optimizing scalar code executed on a single instruction multiple data (SIMD) engine by aligning the slots of SIMD registers. With the mechanism, a compiler is provided that parses source code and, for each statement in the program, generates an expression tree. The compiler inspects all storage inputs to scalar operations in the expression tree to determine their alignment in the SIMD registers. This alignment is propagated up the expression tree from the leaves. When the alignments of two operands in the expression tree are the same, the resulting alignment is the shared value. When the alignments of two operands in the expression tree are different, one operand is shifted. For shifted operands, a shift operation is inserted in the expression tree. The executable code is then generated for the expression tree and shifts are inserted where indicated.
Public/Granted literature
- US20080222391A1 Apparatus and Method for Optimizing Scalar Code Executed on a SIMD Engine by Alignment of SIMD Slots Public/Granted day:2008-09-11
Information query