1. A method for detecting cross-iteration dependencies between variables in a loop of a computer program, the method comprising the steps of:
associating unique values with each of the values of indirect loop index variables of the loop;
calculating for each iteration of the loop an indirectly indexed access pattern based upon the associated unique values; and
determining whether cross-iteration dependencies exist between any two iterations of the loop based upon the indirectly indexed access pattern of the two iterations.
2. The method as claimed in claim 1, wherein the unique values associated with each of the values of the indirect loop index variables of the loop are different binary bit patterns of a bit vector.
3. The method as claimed in claim 2, wherein the indirectly indexed access pattern for an iteration is calculated by forming the logical AND of the unique bit patterns associated with each of the values of the indirect loop index variables of the loop for that iteration.
4. The method as claimed in claim 3, wherein the existence of cross-iteration dependencies is determined by determining whether the indirectly indexed access pattern for the two iterations have any common bit positions that share a value of one.
5. The method as claimed in claim 1, wherein the unique values associated with each of the values of the indirect loop index variables of the loop are different prime numbers.
6. The method as claimed in claim 5, wherein the indirectly indexed access pattern for an iteration is calculated by forming the product of the unique prime numbers associated with each of the values of the indirect loop index variables of the loop for that iteration.
7. The method as claimed in claim 6, wherein the existence of cross-iteration dependencies is determined by determining whether a greatest common divisor between the two indirectly indexed access patterns for the two corresponding iterations is greater than one.
8. The method as claimed in claim 1, further comprising the step of grouping iterations in a wave for execution in a common time period such that no cross-iteration dependencies exist between any of the grouped iterations of the wave.
9. The method as claimed in claim 8, further comprising the step of executing each of said waves in a prescribed sequence, and executing each of said iterations in each of said waves in parallel with each other.
10. A method for assisting in scheduling parallel computation of instructions in a loop of a computer program, the method comprising the steps of:
determining, for a loop, active array variables, and direct and indirect loop index variables;
determining, for each iteration of the loop, values of the indirect loop index variables;
associating a unique value with each of values of the indirect loop index variables;
calculating an indirectly indexed access pattern for each iteration of the loop; and
determining whether cross-iteration dependencies exist between any two iterations of the loop based upon the indirectly indexed access patterns of the two iterations.
11. A method for detecting cross-iteration dependencies between variables in a loop of a computer program, the method comprising the steps of:
determining, for a loop, Boolean conditions embedded in the loop;
determining possible decision paths an iteration is allowed to take in the loop body in the presence of Boolean conditions;
determining a first set V={v1, v2, . . . vn} of active array variables of the loop, and a second set I={i1, i2, . . . ir} of indirect loop index variables that appear with the active array variables of said first set in the loop;
determining, for each decision path \u03bb in the set of possible decision paths in the loop, the set V\u03bb of active array variables associated with the path, and the set I\u03bb of indirect loop index variables that appear with the active array variables V\u03bb.;
determining the range N1, N2 of the direct loop index i of the loop, and the maximal range M1, M2 of the set of indirect loop index variables i1, i2, . . . ir of the loop;
associating, for each value l of the indirect loop index variables in the range M1, M2, a unique value p(l) with each value l of the indirect loop index variables in the range M1, M2;
determining, for each pair (i, \u03bb) of a value of the direct loop index i and a decision path \u03bb in the set of all possible decision paths in the loop, the value of S\u03bb(i) where S\u03bb(i) is the product of the unique values p(l) associated with each value l of the indirect loop index variables in the range M1, M2; and
determining, for any pair S\u03b1(i) and S\u03b2(j), whether the values of S\u03b1(i) and S\u03b2(j) indicate that cross-iteration dependencies exist between iterations i and j.
12. The method as claimed in claim 11, wherein the unique values p(l) are different prime numbers and the values of S\u03b1(i) and S\u03b2(j) indicate that no cross-iteration dependencies exist between iterations i and j if the greatest common divisor of S\u03b1(i) and S\u03b2(j) is 1 when i\u2260j.
13. The method as claimed in claim 11, wherein the unique values p(l) are different bit patterns in a bit vector, and the values of S\u03b1(i) and S\u03b2(j) indicate that no cross-iteration dependencies exist between iterations i and j if S\u03b1(i) and S\u03b2(j) do not share any common bits that are set to 1 when i\u2260j.
14. The method as claimed in claim 11, further comprising the step of:
grouping loop iterations in waves such that any two iterations i and j of a particular wave have no cross-dependencies.
15. The method as claimed in claim 14, further comprising the step of:
executing the waves in which loop iterations are grouped in a predetermined sequence such that the wave having the lowest value of the direct loop index i is executed first and completely, followed by the wave with the next lowest value of i, and so on for successive values of i; and
16. The method as claimed in claim 14, further comprising the step of:
executing the iteration in each wave in parallel using multiple computing processors.
17. A computer program product for detecting cross-iteration dependencies between variables in a loop of a computer program, the computer program product comprising computer software stored on a computer-readable medium for performing the steps of:
associating unique values with each of the values of indirect loop index variables of the loop;
calculating for each iteration of the loop an indirectly indexed access pattern based upon the associated unique values; and
determining whether cross-iteration dependencies exist between any two iterations of the loop based upon the indirectly indexed access pattern of the two iterations.
18. A computer system for detecting cross-iteration dependencies between variables in a loop of a computer program, the computer system executing computer software stored on a computer-readable medium for performing the steps of:
associating unique values with each of the values of indirect loop index variables of the loop;
calculating for each iteration of the loop an indirectly indexed access pattern based upon the associated unique values; and
determining whether cross-iteration dependencies exist between any two iterations of the loop based upon the indirectly indexed access pattern of the two iterations.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A UV-emitting phosphor having a composition represented by a formula (Ca2-x,Srx)P2O7:Pr where 0\u2266x\u22662.
2. The phosphor of claim 1 wherein the phosphor emits ultraviolet radiation under excitation by vacuum ultraviolet radiation.
3. The phosphor of claim 1 wherein the phosphor emits ultraviolet radiation under excitation by a Xe-excimer discharge.
4. The phosphor of claim 1 wherein the phosphor exhibits a peak emission in a wavelength range from about 230 nm to about 240 nm.
5. A UV-emitting phosphor having a composition represented by a formula Ca(2-w-x-y-z)SrxAyPrzP2O7 where: A is a 1+ metal cation; w ranges from 0 to about 0.1; x ranges from 0 to 2-w-y-z; y ranges from 0 to about 0.25; and z ranges from greater than 0 to about 0.12.
6. The phosphor of claim 5 wherein A is Na+.
7. The phosphor of claim 5 wherein y ranges from z\u22120.01 to z+0.01.
8. The phosphor of claim 5 wherein z ranges from about 0.02 to about 0.08.
9. The phosphor of claim 5 wherein y=z.
10. A UV-emitting phosphor having a composition represented by a formula Ca(2-w-x-y-z)SrxNayPrzP2O7 where: w ranges from 0 to about 0.1; x ranges from 0 to 2-w-y-z; y ranges from 0 to about 0.25; and z ranges from greater than 0 to about 0.12.
11. The phosphor of claim 10 wherein y ranges from z\u22120.01 to z+0.01.
12. The phosphor of claim 10 wherein z ranges from about 0.02 to about 0.08.
13. The phosphor of claim 10 wherein y=z.
14. The phosphor of claim 10 wherein w=0.06.
15. The phosphor of claim 14 wherein y=z.
16. A UV-emitting phosphor comprising praseodymium-activated calcium strontium pyrophosphate.
17. A UV-emitting phosphor comprising praseodymium-activated calcium pyrophosphate.
18. The phosphor of claim 17 wherein the phosphor has a composition represented by a formula Ca(2-w-y-z)AyPrzP2O7 where: A is a 1+ metal cation; w ranges from 0 to about 0.1; y ranges from 0 to about 0.25; and z ranges from greater than 0 to about 0.12.
19. The phosphor of claim 18 wherein the phosphor is a \u03b2-phase calcium pyrophosphate and z ranges from about 0.04 to about 0.12.
20. The phosphor of claim 18 wherein the phosphor is an \u03b1-phase calcium pyrophosphate and z ranges from about 0.02 to about 0.08.
21. The phosphor of claim 18 wherein A is Na+.
22. A UV-emitting phosphor comprising praseodymium-activated strontium pyrophosphate.
23. The phosphor of claim 22 wherein the phosphor has a composition represented by a formula Sr(2-w-y-z)AyPrzP2O7 where: A is a 1+ metal cation; w ranges from 0 to about 0.1; y ranges from 0 to about 0.25; and z ranges from about 0.03 to about 0.08.
24. The phosphor of claim 22 wherein the phosphor is an \u03b1-phase strontium pyrophosphate.
25. The phosphor of claim 23 wherein y=z.
26. A UV-emitting lamp comprising a discharge vessel containing a source of vacuum ultraviolet radiation and a UV-emitting phosphor on an interior wall of the discharge vessel, the UV-emitting phosphor having a composition represented by a formula (Ca2-x,Srx)P2O7:Pr where 0\u2266x\u22662.
27. The UV-emitting lamp of claim 26 wherein the source of vacuum ultraviolet radiation is a xenon excimer discharge.
28. The UV-emitting lamp of claim 27 wherein the discharge vessel has dielectrically impeded electrodes.
29. The phosphor of claim 1 wherein the phosphor is formulated to have a slight molar excess of pyrophosphate anion relative to the total cation amount.
30. The phosphor of claim 1 wherein the phosphor is formulated to have a ratio of 1.00 moles of pyrophosphate anion to 1.94 moles of cation.
31. The phosphor of claim 1 wherein the phosphor has a mixture of \u03b1- and \u03b2-phases.