TAU: A portable parallel program analysis environment for pC++
The realization of parallel language systems that offer high-level programming paradigms to reduce the complexity of application development, scalable runtime mechanisms to support variable size problem sets, and portable compiler platforms to provide access to multiple parallel architectures, places additional demands on the tools for program development and analysis. The need for integration of these tools into a comprehensive programming environment is even more pronounced and will require more sophisticated use of the language system technology (i.e., compiler and runtime system). Furthermore, the environment requirements of high-level support for the programmer, large-scale applications, and portable access to diverse machines also apply to the program analysis tools.
In this paper, we discuss τ (TAU, Tuning and Analysis Utilities), a first prototype for an integrated and portable program analysis environment for pC++, a parallel object-oriented language system. τ is integrated with the pC++ system in that it relies heavily on compiler and transformation tools (specifically, the Sage++ toolkit) for its implementation. This paper describes the design and functionality of τ and shows its application in practice.
Unable to display preview. Download preview PDF.
- 1.F. Bodin, P. Beckman, D. Gannon, J. Gotwals, S. Narayana, S. Srinivas, B. Winnicka, Sage++: An Object Oriented Toolkit and Class Library for Building Fortran and C++ Restructuring Tools, Proc. Oonski '94, Oregon, 1994.Google Scholar
- 2.V. Herrarte, E. Lusk, Studying Parallel Program Behavior with Upshot, Technical Report ANL-91/15, Mathematics and Computer Science Division, Argonne National Laboratory, August 1991.Google Scholar
- 3.A. Chien and W. Dally. Concurrent Aggregates (CA), Proc. 2nd ACM Sigplan Symposium on Principles & Practice of Parallel Programming, Seattle, Washington, March, 1990.Google Scholar
- 4.High Performance Fortran Forum, High Performance Fortran Language Specification, 1993. Available from titan.cs.rice.edu by anonymous ftp.Google Scholar
- 5.B. Mohr, Standardization of Event Traces Considered Harmful or Is an Implementation of Object-Independent Event Trace Monitoring and Analysis Systems Possible?, Proc. CNRS-NSF Workshop on Environments and Tools For Parallel Scientific Computing, St. Hilaire du Touvet, France, Elsevier, Advances in Parallel Computing, Vol. 6, pp. 103–124, 1993.Google Scholar
- 6.J. K. Ousterhout, Tcl: An Embeddable Command Language, Proc. 1990 Winter USENIX Conference.Google Scholar
- 7.J. K. Ousterhout, An X11 Toolkit Based on the Tcl Language, Proc. 1991 Winter USENIX Conference.Google Scholar
- 8.F. Bodin, P. Beckman, D. Gannon, S. Yang, S. Kesavan, A. Malony, B. Mohr, Implementing a Parallel C++ Runtime System for Scalable Parallel Systems, Proc. 1993 Supercomputing Conference, Portland, Oregon, pp. 588–597, Nov. 1993.Google Scholar
- 9.A. Malony, B. Mohr, P. Beckman, D. Gannon, S. Yang, F. Bodin, Performance Analysis of pC++: A Portable Data-Parallel Programming System for Scalable Parallel Computers, Proc. 8th Int. Parallel Processing Symb. (IPPS), Cancún, Mexico, IEEE Computer Society Press, pp. 75–85, Apr. 1994.Google Scholar
- 10.D. A. Reed, R. D. Olson, R. A. Aydt, T. M. Madhyasta, T. Birkett, D. W. Jensen, B. A. A. Nazief, B. K. Totty, Scalable Performance Environments for Parallel Systems. Proc. 6th Distributed Memory Computing Conference, IEEE Computer Society Press, pp. 562–569, 1991.Google Scholar
- 11.V. S. Sunderam, PVM: A Framework for Parallel Distributed Computing, Concurrency: Practice & Experience, Vol. 2, No. 4, pp. 315–339, December 1990.Google Scholar