Method using slp packing with statements having both isomorphic and non-isomorphic expressions

a statement and isomorphic technology, applied in the field of single instruction multiple data (simd) code generation, can solve problems such as inefficiency of the techniqu

Inactive Publication Date: 2009-07-02
IBM CORP
View PDF9 Cites 7 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

The patent describes a computer method for processing a group of statements that have different positions in an array. Each statement contains one or more expressions. The method involves putting the expressions into a single stream, which is then divided into smaller streams based on their similarities. These smaller streams are then combined to create a single output stream, which contains the expressions in the desired order. This method helps to efficiently process complex data and reduce the amount of memory needed.

Problems solved by technology

This technique, however, is not as efficient as it might be.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Method using slp packing with statements having both isomorphic and non-isomorphic expressions
  • Method using slp packing with statements having both isomorphic and non-isomorphic expressions
  • Method using slp packing with statements having both isomorphic and non-isomorphic expressions

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0019]Referring to FIG. 1, there is shown a block diagram of a generalized data processing system 100 which may be used in implementing embodiments of the present invention. Data processing system 100 exemplifies a computer, in which code or instructions for implementing the processes of the present invention may be located. Data processing system 100 usefully employs a peripheral component interconnect (PCI) local bus architecture, although other bus architectures such as Accelerated Graphics Port (AGP) and Industry Standard Architecture (ISA) may alternatively be used. FIG. 1 shows a processor 102 and main memory 104 connected to a PCI local bus 106 through a Host / PCI bridge 108. PCI bridge 108 also may include an integrated memory controller and cache memory for processor 102.

[0020]Referring further to FIG. 1, there is shown a local area network (LAN) adapter 112, a small computer system interface (SCSI) host bus adapter 110, and an expansion bus interface 114 respectively connec...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

A computer implemented method is provided for using SLP in processing a plurality of statements, wherein the statements are associated with an array having a number of array positions, and each statement includes one or more expressions. The method includes the step of gathering expressions for each of the statements into a structure comprising a single merge stream, the merge streams being furnished with a location for each expression, wherein the location for a given expression is associated with one of the array positions. The method further comprises selectively identifying a plurality of expressions, and applying SLP packing operations to the identified expressions, in order to merge respective identified expressions into one or more isomorphic sub-streams. The method further comprises selectively combining the expressions of the isomorphic sub-streams, and other expressions of the single merge stream, into a number of input vectors that are substantially equal in length to one another. A location vector is generated that contains the respective locations for all of the expressions in the single merge stream. The method further comprises generating an output stream that comprises the expressions of the input vectors, wherein the expressions are arranged in the output stream an order determined by the respective locations contained in the location vector.

Description

BACKGROUND OF THE INVENTION[0001]1. Field of the Invention[0002]The invention disclosed and claimed herein generally pertains to a Single Instruction Multiple Data (SIMD) code generation method that uses Superword-Level Parallelism (SLP) in connection with mixed isomorphic and non-isomorphic packed code. More particularly, the invention pertains to a method of the above type that uses a permute operator to combine isomorphic and non-isomorphic expressions into an aggregated expression, in order to provide a final output stream.[0003]2. Description of the Related Art[0004]It is well known that computer processing speed has increased through the use of parallel processing. One form of parallel processing relies on a SIMD architecture, which processes multiple data packed into a vector register in a single instruction, such as SSE for Pentium, VMX for PPC 970, CELL, and Dual FPU for BlueGene / L. The type of parallelism exploited by SIMD architecture is referred to as SIMD parallelism, a...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
Patent Type & AuthorityApplications(United States)
IPC IPC(8): G06F17/30
CPCG06F8/456
InventorEICHENBERGER, ALEXANDRE E.WANG, KAI-TING AMYWU, PENG
OwnerIBM CORP