Patent ID: 8046745

Claim:
A method for the examination of the execution and performance of parallel threads in a parallel computing system, the method comprising the steps of: acquiring source code of a parallel processing application for compilation within a computing system; selecting at least one parallelized code segment from the source code for processing, wherein the parallelized code comprises a loop segment; generating additional code for the parallelized code segment, the added code segment comprising N threads and one thread of execution, wherein N represents the number of parallel threads of execution at run time into which the parallelized code segment is partitioned; determining if the expected number of N threads of execution have been generated; transmitting a warning in the event that the expected number of N threads of execution have not been generated; identifying a starting index value and a completion index value of the loop; identifying a primary sub-loop of the loop, wherein the primary sub-loop comprises the N threads of execution; generating a warning to the computing system operator in the event that the primary sub-loop cannot be identified, and thereafter completing the execution of the loop and the processing of the application; identifying a secondary sub-loop for the loop, wherein the secondary sub-loop comprises the one thread of execution; generating a warning in the event that the secondary sub-loop cannot be identified and thereafter completing the execution of the loop and the processing of the application; completing the remaining iterations of the loop; determining the performance metrics of the N threads of execution; determining the performance metrics of the one thread of execution; comparing the performance metrics of the one thread of execution with that of the N threads of execution; reporting the performance ratio of N threads of execution versus the one thread of execution.