1 / 18

The Impact of Data Dependence Analysis on Compilation and Program Parallelization

This research explores the importance of data dependence analysis in optimizing code and detecting implicit parallelism. It discusses different testing methods and their trade-offs in terms of accuracy and efficiency.

heidy
Download Presentation

The Impact of Data Dependence Analysis on Compilation and Program Parallelization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Impact of Data Dependence Analysis on Compilation and Program Parallelization Original Research by Kleanthis Psarris & Konstantinos Kyriakopoulos Year of Publication: 2003 Presentation by Jamie Perkins

  2. Data Dependence Analysis • Key to optimization and detection of implicit parallelism in sequential code. • Helps compiler improve memory, improve load balancing and determine efficient scheduling. • Different test for data dependence provide different trade-offs. • Accuracy vs. Efficiency

  3. About this research… • Sun UltraSPARC-IIi with 440 MHz CPU and 512 Mbytes main memory. • 2 different applications tested • Perfect Club Benchmarks • Lapack • 4 different tests applied • Greatest Common Divisor Test (GCD) • Banerjee Test • I – Test • Omega Test

  4. Polaris Compiler • Developed at the University of Illinois at Urbana Champaign & Purdue University. • Parallelizes Fortran 77 programs for execution on shared memory multiprocessors.

  5. Applications • Perfect Club Benchmark (PCB) • Collection of 13 scientific & engineering Fortran 77 programs. • Lapack (LP) • A library of subroutines for solving linear algebra problems in Fortran 77.

  6. Tests applied • Greatest Common Divisor Test (GCD) • Based on theorem of elementary number theory. • Banerjee Test • Based on the Intermediate Value Theorem. These two tests are applied together.

  7. Tests Applied (cont.) • I – Test • Based on & enhances the Banerjee test and the GCD test. • Adds “accuracy conditions” to the previous tests. • Omega Test • Based on a combination of the Least Remainder Algorithm and Fourier-Motzkin Variable Elimination.

  8. Data Dependence Problems for PCB Banerjee Test I -Test Omega Test KEY: INDEPENDENT DEPENDENTMAYBE ***100% is equal to 59936

  9. Data Dependence Problems for LP Banerjee Test I -Test Omega Test KEY: INDEPENDENT DEPENDENTMAYBE ***100% is equal to 293,718

  10. Avg. Cost per Data Dependence in PCB Time (msec)

  11. Avg. Cost per Data Dependence in LP Time (msec)

  12. Total Compilation Time Perfect Club Benchmark Lapack Library Time in Minutes Time in Minutes

  13. Parallelizable Loops Perfect Club Benchmark Lapack Library Number of Loops Number of Loops

  14. Execution Time • Perfect Club Benchmark • Only 4 out of the 11 could be effectively parallelized. • Lapack Library • Much better results, the execution time of 7 of the programs were cut in half.

  15. Perfect Club Benchmark OCEAN BDNA

  16. Lapack Library GEP EIN RECT LIN

  17. Conclusions • Data dependence accuracy • Depending on program differences, may not be substantial (PBC vs. LP). • Efficiency • Often a trade-off (efficiency vs. accuracy), Omega proved more accurate at a high cost. • Effectiveness • All 3 tests found similar number of parallelizable loops. • Execution Performance • Again all three tests produced similar results in execution.

  18. Thank You Any Questions?

More Related