Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/301104.301108acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
Article
Free access

SUIF Explorer: an interactive and interprocedural parallelizer

Published: 01 May 1999 Publication History

Abstract

The SUIF Explorer is an interactive parallelization tool that is more effective than previous systems in minimizing the number of lines of code that require programmer assistance. First, the interprocedural analyses in the SUIF system is successful in parallelizing many coarse-grain loops, thus minimizing the number of spurious dependences requiring attention. Second, the system uses dynamic execution analyzers to identify those important loops that are likely to be parallelizable. Third, the SUIF Explorer is the first to apply program slicing to aid programmers in interactive parallelization. The system guides the programmer in the parallelization process using a set of sophisticated visualization techniques.This paper demonstrates the effectiveness of the SUIF Explorer with three case studies. The programmer was able to speed up all three programs by examining only a small fraction of the program and privatizing a few variables.

References

[1]
V. S. Adve, J. Mellor-Crummey, M. Anderson, K. Kennedy, J.-C. Wang, D. A. Reed, An integrated compilation and performance analysis environment for data parallel programs, Proceedings of Supercomputing '95, San Diego, CA, November 1995.
[2]
Applied Parallel Research, Documentation for Forge- Explorer Programming Tool. http://www.apri.com.
[3]
W. Bhrme, R. Doallo, R. Eigenmann, J. Grout, J. Hoeflinger, T. Lawrence, J. Lee, D. Padua, Y. Paek, B. Pottenger, L. Rauchwerger, P. Tu, Parallel programming with Polaris, IEEE Computers, pp. 78-82, December 1996.
[4]
R. P. Bosch, Visualization of computer systems in Rivet, http://www-graphics.stanford.edulproject&ivet.
[5]
R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, F. K. Zadeck, Efficiently computing static single assignment form and the control dependence graph, ACM Transactions on Programming Languages and Systems, 13(4), pp. 451-490, October 1991.
[6]
R. Cytmn and R. Gershbein, "Efficient accommodation of may-alias information in SSA form, SIGPLAN '93 conference on programming language design and implementation, pp. 36-45, 1993.
[7]
S. G. Eick, J. L. Steffen, and E. E. Sumner Jr., See- Soft: a tool for visualizing line oriented software statistics, IEEE Transactions on Software Engineering, 18( 11):957-968, November 1992.
[8]
M. Ernst, "Practical fine-grain slicing of optimized code, Technical Report MSR-TR-94 14, Microsoft Research, Redmond, WA, July 1994.
[9]
J. Ferrante, K. Ottenstein, J. D. Warren, The program dependence graph and its use in optimization, ACM Transactions on Programming Languages and Systems, 9(3), pp. 3 19-349, July 1988.
[10]
M. W. Hall, S. P. Amarasinghe, B. R. Murphy, S.-W. Liao, M. Lam, Detecting coarse-grain parallelism using an interprocedural parallelizing compiler, Proceedings of Supercomputing '95, San Diego, CA, November 1995.
[11]
M. W. Hall, T. J. Harvey, K. Kennedy, N. McIntosh, K. S. McKinley, J. D. Oldham, M. H. Paleczny, G. Roth, "Experiences using the ParaScope Editor: an interactive parallel programming tool, Proceedings of the Principles and Practices of Parallel Programming '93, pp. 33-43, May 1993.
[12]
High Performance Fortran Language Specification, Version 2.0, January 1997, ftp://softlib.rice.edu/pub/ HPF.
[13]
S. Horwitz, T. Reps, D. Binkley, Interprocedural slicing using dependence graphs, ACM Transactions on Programming Languages and Systems, 12(l), pp. 26- 50, January 1990.
[14]
S. Horwitz, T. Reps, M. Sagiv, Demand interprocedural dataflow analysis, Proceedings of the third ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 104-115,1995.
[15]
Kuck & Associates Inc., Documentation for the KAP/ Pro Toolset. http://www.kai.com.
[16]
L. Larsen, M. J. Harrold, Slicing object-oriented software, Technical Report 95-103, Department of Computer Science, Clemson University, March 1995.
[17]
T. Mummer, Exploring large graphs in 3D hyperbolic space, IEEE Computer Graphics and Applications. Volume 18 Number 4. July/August 1998.
[18]
J. Oplinger, D. Heine, S.-W. Liao, B. Nayfeh, K. Olukotun, M. Lam, Software and hardware for exploiting speculative parallelism with a multiprocessor;' Stanford Technical Report CSL-97-715.
[19]
L. Pointer, Perfect: Performance evaluation for cost effective transformations report 2, Technical Report 964, University of Illinois, Urbana-Champaign, March 1990.
[20]
T. Reps, S. Horwitz, M. Sagiv, G. Rosay, Speeding up slicing, Proceedings of the second ACM SIGSOFT Symposium on Foundations of Software Engineering, pp 11 - 20,1994.
[21]
B. Steensgaard, Points-to analysis in almost lineartime, ACM Symposium on Principles of Programming Languages, pp. 32-41, January 1996
[22]
F. Tip, A survey of program slicing techniques, Centrum voor W&unde en Informatica, Report CS- R9438, July 1994.
[23]
M. Weiser, Program slicing, IEEE Transactions on Software Engineering, 10(4), pp. 352-357, 1984.
[24]
R. Wilson, R. French, C. Wilson, S. Amarasinghe, J. Anderson, S. Tjiang, S.-W. Liao, C.-W. Tseng, M. Hall, M. Lam, and J. Hennessy, SUIF: An infrastructure for research on parallelizing and optimizing compilers, ACM SIGPLAN Notices, 29 (1994), 31-37.

Cited By

View all
  • (2023)OCA – Code Advisory Tool for OpenMP Parallelization of Sequential Code2023 IEEE 16th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC)10.1109/MCSoC60832.2023.00021(89-96)Online publication date: 18-Dec-2023
  • (2021)Loop Parallelization using Dynamic Commutativity Analysis2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)10.1109/CGO51591.2021.9370319(150-161)Online publication date: 27-Feb-2021
  • (2018)Tool-based interactive software parallelizationProceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice10.1145/3183519.3183555(115-123)Online publication date: 27-May-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PPoPP '99: Proceedings of the seventh ACM SIGPLAN symposium on Principles and practice of parallel programming
May 1999
192 pages
ISBN:1581131003
DOI:10.1145/301104
  • Chairmen:
  • Marc Snir,
  • Andrew A. Chien
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 May 1999

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PPoPP99
Sponsor:

Acceptance Rates

PPoPP '99 Paper Acceptance Rate 17 of 79 submissions, 22%;
Overall Acceptance Rate 230 of 1,014 submissions, 23%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)88
  • Downloads (Last 6 weeks)22
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)OCA – Code Advisory Tool for OpenMP Parallelization of Sequential Code2023 IEEE 16th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSoC)10.1109/MCSoC60832.2023.00021(89-96)Online publication date: 18-Dec-2023
  • (2021)Loop Parallelization using Dynamic Commutativity Analysis2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO)10.1109/CGO51591.2021.9370319(150-161)Online publication date: 27-Feb-2021
  • (2018)Tool-based interactive software parallelizationProceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice10.1145/3183519.3183555(115-123)Online publication date: 27-May-2018
  • (2018)Visual Program Manipulation in the Polyhedral ModelACM Transactions on Architecture and Code Optimization10.1145/317796115:1(1-25)Online publication date: 22-Mar-2018
  • (2018)A Framework for Faster Porting of Scientific Applications Between Heterogeneous CloudsSmart Societies, Infrastructure, Technologies and Applications10.1007/978-3-319-94180-6_5(27-43)Online publication date: 22-Jul-2018
  • (2017)The Technological Roadmap of Parallware and Its Alignment with the OpenPOWER EcosystemHigh Performance Computing10.1007/978-3-319-67630-2_19(237-253)Online publication date: 20-Oct-2017
  • (2016)Simulation of a Model for Refactoring Approach for Parallelism Using Parallel Computing Tool BoxProceedings of First International Conference on Information and Communication Technology for Intelligent Systems: Volume 210.1007/978-3-319-30927-9_8(77-84)Online publication date: 4-May-2016
  • (2015)Conditionally correct superoptimizationACM SIGPLAN Notices10.1145/2858965.281427850:10(147-162)Online publication date: 23-Oct-2015
  • (2015)Experiences in extending parallware to support OpenACCProceedings of the Second Workshop on Accelerator Programming using Directives10.1145/2832105.2832112(1-12)Online publication date: 15-Nov-2015
  • (2015)Conditionally correct superoptimizationProceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications10.1145/2814270.2814278(147-162)Online publication date: 23-Oct-2015
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media