Belangrijkste concepten
LLOR is a novel tool that can automatically repair data race errors in OpenMP programs written in C/C++ and Fortran by strategically placing synchronization constructs, offering a practical solution to a prevalent challenge in parallel programming.
Statistieken
LLOR was able to repair more than 80% of the programs that had a valid data race error.
A total of 415 programs (235 C/C++ and 180 Fortran) were used for the evaluation.
The benchmark set consists of programs from DataRaceBench, Exascale project, Rodinia test suite, and Parallel Research Kernels.
The average number of lines of code for the test suite is 694.92, and the median is 44.
58 programs have more than 100 lines of code, and 184 programs have more than 50 lines of code.
The average number of LLVM IR instructions for the test suite is 1995.34, and the median is 115.
The average number of barrier variables for the test suite is 71.01, and the median is 2.
More than 50% of the programs had less than 3 barrier variables.
Citaten
"To the best of our knowledge, LLOR is the only tool that can repair parallel programs that use the OpenMP API."
"To the best of our knowledge, ours is the only technique and tool that can propose a fix for parallel programs written using the OpenMP API."