ComputingComputer EngineeringComputer ScienceAlgorithmsData-flow AnalysisLoop ModelingEmpirical EvaluationLoop AnalysisLoop DetectionLoop Traverse
Loop-iteration level parallelism is one of the most common forms of parallelism being exploited by optimizing compilers and parallel machines. In this study, we selected 6 large application programs and used an execution-driven simulation technique from MaxPar to identify and to measure the effectiveness of concurrent DOACROSS loops execution. It was found that executing DOACROSS loops serially can significantly degrade the performance for some of the programs. We also measured and studied the characteristics of those cross-iteration dependences in DOACROSS loops and measured the capability of a state-of-the-art parallelizing compiler, KAP, in identifying and eliminating cross-iteration dependences. \nExperiences have shown that applying parallelizing techniques to application programs can yield drastically different results which can range from excellent to embarrassingly poor. It is quite natural that we ask the following questions: Does the poor performance come from...