Privatization played a vital role in the parallelization of MDG, TRFD, and QCD.
The loops that are most important to parallelizing these benchmarks are interf/1000 in MDG, qqqmea/1 in QCD, and olda/100 and olda/300 in TRFD.
It is sufficient to let us show that the two key loops in TRFD and the j loop in Figure 14 can be parallelized.
For example, our system can make use of information about monotonically increasing variables to kill critical dependences in the olda subroutine of the TRFD benchmark, and interact with the programmer to introduce assertions allowing the parallelization of key loops in MDG and QCD.
This effect is seen clearly in programs: DODUC, SPICE2G6, MDG, TRACK, BDNA, ARC2D, and TRFD.
The Perfect benchmark results show that on programs BDNA and TRFD the five most popular blocks account for 95% of all operations, from a total of 883 and 202 blocks respectively.
The most similar programs are TRFD and MATRIX300 with a distance of only 0.