Skip to main content
Log in

Design and Prototype of a Performance Tool Interface for OpenMP

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

This paper proposes a performance tools interface for OpenMP, similar in spirit to the MPI profiling interface in its intent to define a clear and portable API that makes OpenMP execution events visible to runtime performance tools. We present our design using a source-level instrumentation approach based on OpenMP directive rewriting. Rules to instrument each directive and their combination are applied to generate calls to the interface consistent with directive semantics and to pass context information (e.g., source code locations) in a portable and efficient way. Our proposed OpenMP performance API further allows user functions and arbitrary code regions to be marked and performance measurement to be controlled using new OpenMP directives. To prototype the proposed OpenMP performance interface, we have developed compatible performance libraries for the Expert automatic event trace analyzer [17, 18] and the TAU performance analysis framework [13]. The directive instrumentation transformations we define are implemented in a source-to-source translation tool called OPARI. Application examples are presented for both Expert and TAU to show the OpenMP performance interface and OPARI instrumentation tool in operation. When used together with the MPI profiling interface (as the examples also demonstrate), our proposed approach provides a portable and robust solution to performance analysis of OpenMP and mixed-mode (OpenMP+MPI) applications.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. ESPRIT Working Group APART (Automatic Performance Analysis: Resources and Tools). http://www.fz-juelich.de/apart/.

  2. M. Bane and G. Riley. Overheads profiler for OpenMP codes, In European Workshop on OpenMP (EWOMP 2000), September, 2000.

  3. J. Bull, M. Westhead, M. Kambites, and J. Obdrźalek. Towards OpenMP for Java, In European Workshop on OpenMP (EWOMP 2000), Sep. 2000.

  4. W. Carlson, J. Draper, D. Culler, K. Yelick, E. Brooks, and K. Warren. Introduction to UPC and language specification. Technical report CCS-TR–99–157. George Mason University, May, 1999.

  5. J. Caubet, J. Gimenez, J. Labarta, L. DeRose, and J. Vetter. A dynamic tracing mechanism for performance analysis of OpenMP applications, In Workshop on OpenMP Applications and Tools (WOMPAT 2001), July, 2001.

  6. B. Chamberlain, S.-E. Choi, C. Lewis, L. Snyder, W. Weathersby, and C. Lin. The case for high level parallel programming in ZPL. IEEE Computational Science and Engineering, 5(3):76–86, 1998.

    Google Scholar 

  7. European Center for Parallelism of Barcelona (CEPBA). Paraver—Parallel Program Visualization and Analysis Tool—Reference Manual, November, 2000. http://www.cepba.upc.es/paraver.

  8. J. Guitart et al. Performance analysis tools for parallel Java applications on shared-memory systems. International Conference on Parallel Processing (ICPP'01), September, 2001.

  9. HPF. http://softlib.rice.edu/HPFF/.

  10. J. Hoefiinger et al. An integrated performance visualizer for MPI/OpenMP programs, In Workshop on OpenMP Applications and Tools (WOMPAT 2001), July, 2001.

  11. KOJAK (Kit for Objective Judgment and Knowledge-based Detection of Bottlenecks). http://www.fzjuelich. de/zam/kojak/.

  12. K. A. Lindlan, J. Cuny, A. D. Malony, S. Shende, B. Mohr, R. Rivenburgh, and C. Rasmussen. Tool framework for static and dynamic analysis of object-oriented software with templates, In Proceedings Supercomputing 2000, Dallas/Texas, USA, November, 2000.

  13. A. Malony and S. Shende. Performance technology for complex parallel and distributed systems, In G. Kotsis and P. Kacsuk, eds., Proceedings 3rd Workshop on Distributed and Parallel Systems, DAPSYS 2000, pp. 37–46, 2000.

  14. Pallas GmbH. VAMPIR: Visualization and analysis of MPI resources. http://www.pallas.de/pages/ vampir.htm.

  15. Portland Group Inc. Private Communication.

  16. F. Wolf and B. Mohr, EARL—A programmable and extensible toolkit for analyzing event traces of message passing programs, In A. Hoekstra and B. Hertzberger, eds., Proceedings of the 7th International Conference on High-Performance Computing and Networking, HPCN'99, pp. 503–512. Amsterdam, The Netherlands, 1999.

  17. F. Wolf and B. Mohr. Automatic performance analysis of MPI applications based on event traces, In Proceedings of the European Conference on Parallel Computing, Euro-Par 2000, pp. 123–132. Munich, Germany, August 2000.

  18. F. Wolf and B. Mohr. Automatic performance analysis of SMP cluster applications. Technical report IB 2001–05. Research Centre Jülich, 2001.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mohr, B., Malony, A.D., Shende, S. et al. Design and Prototype of a Performance Tool Interface for OpenMP. The Journal of Supercomputing 23, 105–128 (2002). https://doi.org/10.1023/A:1015741304337

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1015741304337

Navigation