Back to results
US 12,182,552 B2Granted
Splitting vector processing loops with an unknown trip count
AssigneeXilinx, Inc.
InventorAjit K. Agarwal
Life of this patent
Estimating the term…
Abstract
A computer-based technique for processing an application includes determining that a loop of the application includes a reference to a data item of a vector data type. A trip count of the loop is determined to have an unknown trip count. The loop is split into a first loop and a second loop based on a splitting factor. The second loop is unrolled.
Claims19
A method, comprising:
- detecting, using computer hardware, that a loop of an application refers to one or more data items each of a vector data type;
- wherein a trip count of the loop is unknown;
- selecting, from the one or more data items, a selected data item having a largest number of elements based on a number of elements of each data item of the vector data type of the loop and using the number of elements of the selected data item as a splitting factor;
- splitting, using the computer hardware, the loop into a first loop and a second loop based on the splitting factor;
- and
- unrolling, using the computer hardware, the second loop.
3 more elements
A system, comprising:
- a processor configured to initiate operations including:
- detecting that a loop of an application refers to one or more data items each of a vector data type;
- wherein a trip count of the loop is unknown;
- selecting, from the one or more data items, a selected data item having a largest number of elements based on a number of elements of each data item of the vector data type of the loop and using the number of elements of the selected data item as a splitting factor;
- splitting the loop into a first loop and a second loop based on the splitting factor;
- and
- unrolling the second loop.
4 more elements
A computer program product, comprising:
- one or more computer-readable storage mediums, and program instructions collectively stored on the computer-readable storage mediums, wherein the program instructions are executable by computer hardware to initiate operations including:
- detecting, using computer hardware, that a loop of an application refers to one or more data items each of a vector data type;
- wherein a trip count of the loop is unknown;
- selecting, from the one or more data items, a selected data item having a largest number of elements based on a number of elements of each data item of the vector data type of the loop and using the number of elements of the selected data item as a splitting factor;
- splitting the loop into a first loop and a second loop based on a splitting factor;
- and
- unrolling the second loop.
4 more elements
Dependencies are inferred from the claim text.