Method and system for versioning codes based on relative alignment for single instruction multiple data units
AssigneeInternational Business Machines Corporation
InventorsAlexandre Eichenberger, Amy Wang, Peng Wu, Peng Zhao
Life of this patent
Estimating the term…
Abstract
A method and system for generating efficient versioned codes for single instruction multiple data units whose memory systems have alignment constraints. The system creates multiple versions of codes based on relative alignments of the data streams involved in the computation. The system also analyzes characteristics of relative alignments (e.g. compile-time or runtime) to determine whether code versioning is beneficial based on a cost model.
Claims20
A computer implemented method, comprising:
- inserting reorganization operations into a loop with misaligned accesses to satisfy alignment constraints;
- identifying stream shift operations with runtime relative alignments;
- versioning the loop based on the runtime relative alignment creating loop versions;
- and
- generating code for the loop versions.
A computer program product, comprising a computer readable medium including computer readable instructions, the computer readable instructions for:
- inserting reorganization operations into a loop with misaligned accesses to satisfy alignment constraints;
- identifying stream shift operations with runtime relative alignments;
- versioning the loop based on the runtime relative alignment creating loop versions;
- and
- generating code for the loop versions.
A system for generating code executable on a single instruction multiple data unit, comprising:
- an element for inserting reorganization operations into a loop with misaligned accesses to satisfy alignment constraints;
- an element for identifying stream shift operations with runtime relative alignments;
- an element for versioning the loop based on the runtime relative alignment creating loop versions;
- and
- an element for generating code for the loop versions.
Dependencies are inferred from the claim text.