Scalar optimizations for shaders
US-9430199-B2 · Aug 30, 2016 · US
US9430203B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9430203-B2 |
| Application number | US-201414522815-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 24, 2014 |
| Priority date | Nov 8, 2013 |
| Publication date | Aug 30, 2016 |
| Grant date | Aug 30, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A storage unit stores source code including loop processing that is written with an array referenced by an index, a loop variable, and a parameter. A computing unit generates a conditional expression indicating that the index of the array satisfies a predetermined condition, using the loop variable and the parameter. The computing unit generates determination information on the parameter, by eliminating the loop variable from the conditional expression through formula manipulation. Then, the computing unit generates object code corresponding to the source code in accordance with the determination information.
Opening claim text (preview).
What is claimed is: 1. An information processing apparatus comprising: a memory configured to store source code including loop processing, the loop processing being written with an array referenced by an index including a loop variable and a parameter whose value is dynamically determined before the loop processing and remains constant during the loop processing; and a processor configured to execute a process including: generating a conditional expression indicating that the index of the array satisfies a predetermined condition, using the loop variable and the parameter, generating a determination expression that gives an allowable range of the parameter, by eliminating the loop variable from the conditional expression through formula manipulation, generating object code corresponding to the source code, and inserting check code before the loop processing in the object code, so as to test whether the value of the parameter at run time falls within the allowable range given by the determination expression. 2. The information processing apparatus according to claim 1 , wherein the process further includes generating another determination expression corresponding to another conditional expression for the loop processing, combining the determination expression and said another determination expression to obtain a combined determination expression, and generating check code based on the combined determination expression. 3. The information processing apparatus according to claim 1 , wherein the process further includes generating warning information when the determination expression indicates that the conditional expression holds or does not hold regardless of a value of the parameter. 4. The information processing apparatus according to claim 1 , wherein the generating the conditional expression includes generating the conditional expression which includes a plurality of first linear expressions indicating bounds of a value of the loop variable, and a second linear expression indicating that the index of the array satisfies the predetermined condition. 5. The information processing apparatus according to claim 1 , wherein the predetermined condition includes at least one of a condition on whether a value of the index is within a domain and a condition on whether a reference to the array is parallelizable. 6. A compilation method comprising: acquiring, by a processor, source code including loop processing, the loop processing being written with an array referenced by an index including a loop variable and a parameter whose value is dynamically determined before the loop processing and remains constant during the loop processing; generating, by the processor, a conditional expression indicating that the index of the array satisfies a predetermined condition, using the loop variable and the parameter; generating, by the processor, a determination expression that gives an allowable range of the parameter, by eliminating the loop variable from the conditional expression through formula manipulation; generating, by the processor, object code corresponding to the source code; and inserting, by the processor, check code before the loop processing in the object code, so as to test whether the value of the parameter at run time falls within the allowable range given by the determination expression. 7. A computer-readable storage medium storing a computer program that causes a computer to execute a process comprising: acquiring source code including loop processing, the loop processing being written with an array referenced by an index including a loop variable and a parameter whose value is dynamically determined before the loop processing and remains constant during the loop processing; generating a conditional expression indicating that the index of the array satisfies a predetermined condition, using the loop variable and the parameter; generating a determination expression that gives an allowable range of the parameter, by eliminating the loop variable from the conditional expression through formula manipulation; generating object code corresponding to the source code; and inserting check code before the loop processing in the object code, so as to test whether the value of the parameter at run time falls within the allowable range given by the determination expression.
Loops · CPC title
Reducing the execution time required by the program code · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.