Claims
- 1. A method for performing debugging of an executable source program in a massively parallel processing environment comprising:
associating a major cycle counter and a minor cycle counter with each of a plurality of execution processors in the massively parallel processing environment; obtaining a first stopping point value associated with the major cycle counter and a second stopping point value associated with the minor cycle counter; executing instructions of the executable source program on each of the plurality of execution processors; modifying the major cycle counter and the minor cycle counter; and halting each of the plurality of execution processors and returning control to the user if the major cycle counter reaches the first stopping point value and the minor cycle counter reaches the second stopping point value.
- 2. The method of claim 1, further comprising:
inspecting and modifying the executable source program.
- 3. The method of claim 1, further comprising:
loading the first stopping point value into the major cycle counter and the second stopping point value into the minor cycle counter; and adjusting the second stopping point value so that a machine state is one minor cycle removed from the second stopping point value.
- 4. The method of claim 3, wherein the first stopping point value is incremented.
- 5. The method of claim 3, wherein the second stopping point value is incremented.
- 6. The method of claim 3, wherein the first stopping point value is decremented.
- 7. The method of claim 3, wherein the second stopping point value is decremented.
- 8. The method of claim 1, further comprising:
storing the first stopping point value in a memory register.
- 9. The method of claim 1, further comprising:
storing the second stopping point value in a memory register.
- 10. The method of claim 1, further comprising:
storing the major cycle counter in a memory register.
- 11. The method of claim 1, further comprising:
storing the minor cycle counter in a memory register.
- 12. The method of claim 1, wherein the first stopping point value and the second stopping point value is zero.
- 13. The method of claim 1, wherein the first stopping point value and the second stopping point value is obtained from a user.
- 14. The method of claim 1, modifying the major cycle counter and the minor cycle counter comprises incrementing.
- 15. The method of claim 1, modifying the major cycle counter and the minor cycle counter comprises decrementing.
- 16. The method of claim 1, wherein the major cycle counter increments after a predefined plurality of instructions are executed.
- 17. The method of claim 1, wherein the major cycle counter decrements after a predefined plurality of instructions are executed.
- 18. The method of claim 1, wherein the minor cycle counter increments after a single instruction is executed.
- 19. The method of claim 1, wherein the minor cycle counter decrements after a single instruction is executed.
- 20. A method for performing debugging of an executable source program in a massively parallel processing environment comprising:
associating a major cycle counter and a minor cycle counter with each of a plurality of execution processors in the massively parallel processing environment; obtaining a first stopping point value associated with the major cycle counter and a second stopping point value associated with the minor cycle counter; executing instructions of the executable source program on each of the plurality of execution processors; modifying the major cycle counter and the minor cycle counter; halting each of the plurality of execution processors and returning control to the user if the major cycle counter reaches the first stopping point value and the minor cycle counter reaches the second stopping point value. inspecting and modifying the executable source program; storing the first stopping point value in a memory register; storing the second stopping point value in a memory register; storing the major cycle counter in a memory register; and storing the minor cycle counter in a memory register.
- 21. An execution control system configured for a massively parallel processing environment comprising:
a major cycle counter and a minor cycle counter configured to be associated with each of a plurality of execution processors in the massively parallel processing environment; a memory register to store a first stopping point value associated with the major cycle counter; a memory register to store a second stopping point value associated with the minor cycle counter; and an executable source program; wherein each of the plurality of execution processors is halted and control is returned to the user to inspect and modify the executable source program if the first stopping point value is equal to the major cycle counter and second stopping point value is equal to the min or cycle counter.
- 22. The method of claim 21, further comprising:
a memory register to store the major cycle counter.
- 23. The method of claim 21, further comprising:
a memory register to store the minor cycle counter.
- 24. The method of claim 21, wherein the first stopping point value and the second stopping point value is zero.
- 25. The method of claim 21, wherein the first stopping point value and the second stopping point value is obtained from a user.
- 26. The method of claim 21, wherein the second stopping point value is incremented so that a machine state is one minor cycle removed from a previous stopping point value.
- 27. The method of claim 21, wherein the second stopping point value is decremented so that a machine state is one minor cycle removed from a previous stopping point value.
- 28. The method of claim 21, wherein the major cycle counter increments after a predefined plurality of instructions are executed.
- 29. The method of claim 21, wherein the major cycle counter decrements after a predefined plurality of instructions are executed.
- 30. The method of claim 21, wherein the minor cycle counter increments after a single instruction is executed.
- 31. The method of claim 21, wherein the minor cycle counter decrements after a single instruction is executed.
- 32. An execution control system configured for a massively parallel processing environment comprising:
a major cycle counter and a minor cycle counter configured to be associated with each of a plurality of execution processors in the massively parallel processing environment; a memory register to store a first stopping point value associated with the major cycle counter; a memory register to store a second stopping point value associated with the minor cycle counter; an executable source program; a memory register to store the major cycle counter; and a memory register to store the minor cycle counter; wherein each of the plurality of execution processors is halted and control is returned to the user to inspect and modify the executable source program if the first stopping point value is equal to the major cycle counter and second stopping point value is equal to the minor cycle counter.
- 33. A computer system to perform debugging of an executable source program in a massively parallel processing environment, comprising:
a processor; a memory; and software instructions stored in the memory for enabling the computer system under control of the processor, to perform:
associating a major cycle counter and a minor cycle counter with each of a plurality of execution processors in the massively parallel processing environment; obtaining a first stopping point value associated with the major cycle counter and a second stopping point value associated with the minor cycle counter; executing instructions of the executable source program on each of the plurality of execution processors; modifying the major cycle counter and the minor cycle counter; and halting each of the plurality of execution processors and returning control to the user if the major cycle counter reaches the first stopping point value and the minor cycle counter reaches the second stopping point value.
- 34. An apparatus for performing debugging of an executable source program in a massively parallel processing environment comprising:
means for associating a major cycle counter and a minor cycle counter with each of a plurality of execution processors in the massively parallel processing environment; means for obtaining a first stopping point value associated with the major cycle counter and a second stopping point value associated with the minor cycle counter; means for executing instructions of the executable source program on each of the plurality of execution processors; means for modifying the major cycle counter and the minor cycle counter; and means for halting each of the plurality of execution processors and returning control to the user if the major cycle counter reaches the first stopping point value and the minor cycle counter reaches the second stopping point value.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims benefit of U.S. Provisional Application Serial No. 60/313,762, filed Aug. 20, 2001, entitled “Phasers-Compiler Related Inventions,” in the names of Liang T. Chen, Jeffrey Broughton, Derek Pappas, William Lam, Thomas M. McWilliams, Ihao Chen, Ankur Narang, Jeffrey Rubin, Earl T. Cohen, Michael Parkin, Ashley Saulsbury, and David R. Emberson.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60313762 |
Aug 2001 |
US |