Compiler algorithms for event variable synchronization
Zhiyuan Li · 1991
Event variable synchronization is a well-known mechanism for enforcing data dependence in a program that runs in parallel on a shared memory multiprocessor.This paper presents compiler algorithms to automatically generate event variable synchronization code.Previously published algorithms dealt with single parallel loops in which dependence distances are constant and known by the compiler.Howeverj loops in real application programs are often arbitrarily nested.Moreoverj compilers are often unable to determine dependence dist antes.In contrast, our algorithms generate synchronization code based directly on array subscripts and do not require constant distances in data dependence.The algorithms are designed for arbitrarily nested loops, including triangular or trapezoidal loops.