CCES Unicamp

Using OpenMP to Detect and Speculate Dynamic DOALL Loops

Production compilers such as GCC, Clang, IBM XL and the Intel C Compiler employ multiple loop parallelization techniques that help in the task of parallel programming. Although very effective, these techniques are only applicable to loops that the compiler can statically determine to have no loop-carried dependences (DOALL). Because of this restriction, a plethora of Dynamic DOALL (D-DOALL) loops are outright ignored, leaving the parallelism potential of many computationally intensive applications unexplored. This paper proposes a new analysis tool based on OpenMP clauses that allow the programmer to generate detailed profiling of any given loop by identifying its loop-carried dependences and producing carefully selected execution time metrics. The paper also proposes a set of heuristics to be used in conjunction with the analysis tool metrics to properly select loops which could be paral-lelized through speculative execution, even in the presence of loop-carried dependences. A thorough analysis of 180 loops from 45 benchmarks of three different suites (cBench, Parboil, and Rodinia) was realized using the Intel C Compiler and the proposed approach. Experimental results using static analysis from the Intel C Compiler showed that only 7.8% of the loops are DOALL. The proposed analysis tool exposed 39.5% May DOALL (M-DOALL) loops which could be eventually parallelized using speculative execution, as exemplified by loops from the Parboil sad program which produced a speedup of 1.92x.

Honorio, Bruno & Labegalini de Carvalho, João Paulo & Skaf, Munir & Araujo, Guido. (2020). Using OpenMP to Detect and Speculate Dynamic DOALL Loops.

 

 

Related posts

Elastic constants of ice I_h as described by semi-empirical water models (Editor’s Pick)

cces cces

Modeling and Building IoT Data Platforms with Actor-Oriented Databases

cces cces

MDLovoFit: Automatic identification of mobile and rigid substructure in protein dynamics

Leandro Martinez
WP Twitter Auto Publish Powered By : XYZScripts.com