Commenced in January 2007
Frequency: Monthly
Edition: International
Paper Count: 31097
A Survey on Performance Tools for OpenMP

Authors: Mubrak S. Mohsen, Rosni Abdullah, Yong M. Teo


Advances in processors architecture, such as multicore, increase the size of complexity of parallel computer systems. With multi-core architecture there are different parallel languages that can be used to run parallel programs. One of these languages is OpenMP which embedded in C/Cµ or FORTRAN. Because of this new architecture and the complexity, it is very important to evaluate the performance of OpenMP constructs, kernels, and application program on multi-core systems. Performance is the activity of collecting the information about the execution characteristics of a program. Performance tools consists of at least three interfacing software layers, including instrumentation, measurement, and analysis. The instrumentation layer defines the measured performance events. The measurement layer determines what performance event is actually captured and how it is measured by the tool. The analysis layer processes the performance data and summarizes it into a form that can be displayed in performance tools. In this paper, a number of OpenMP performance tools are surveyed, explaining how each is used to collect, analyse, and display data collection.

Keywords: OpenMP, Multi-core, Parallel performance tools

Digital Object Identifier (DOI):

Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1525


[1] Graham, S.L., M. Snir., and C.A., Getting up to Speed: the Future of Supercomputing. National Academies Press, 2004.
[2] Shende, S.S. and A.D. Malony, The TAU parallel performance system. International Journal of High Performance Computing Applications, 2006. 20(2): p. 287-311.
[3] Mohr, B. and F. Wolf, KOJAK - A Tool Set for Automatic Performance Analysis of Parallel Programs, in Euro-Par 2003 Parallel Processing. 2003. p. 1301-1304.
[4] F├╝rlinger, K. and M. Gerndt, ompP: A Profiling Tool for OpenMP, in OpenMP Shared Memory Parallel Programming. 2008. p. 15-23.
[5] Board, A.R. openMP. 2008
[cited; Available from:
[6] Luiz, D. and W. Felix, CATCH - A Call-Graph Based Automatic Tool for Capture of Hardware Performance Metrics for MPI and OpenMP Applications, in Proceedings of the 8th International Euro-Par Conference on Parallel Processing. 2002, Springer-Verlag.
[7] Nagel, W.E., et al., VAMPIR:Visualization and analysis of MPI resources. SUPERCOMPUTER, 1996. 12(1): p. 69-80.
[8] Intel. Intel VTune Performance Analyzer. 2007
[cited; Available from:
[9] Browne, S., et al., A portable programming interface for performance evaluation on modern processors. International Journal of High Performance Computing Applications, 2000. 14(3): p. 189-204.
[10] P. Mucci, Dynaprof 0.8 user's guide. Technical report. Nov. 2002.
[11] Mohr, B., et al. A Performance monitoring Interface for OpenMP. in Proc. of 4th european Workshop on OpenMP(EWOMP). 2002. Rome,Italy.
[12] Sameer Shende, et al., Integrated Tool Capabilities for Performance Instrumentation and Measurement.
[13] Bui, V., PerfOMP A Runtime Performance event Monitoring Interface for OPENMP. 2007.
[14] Mohr, B., et al., Toward a Performance Tool Interface for OpenMP: An approch based on directive rewriting. In Proceeding of the Third workshop on OpenMP, September, 2001.
[15] Intel Thread Profiler. 2007
[cited; Available from: eng/threading/286749.htm.
[16] SUN, M.I. Sun Collector and Performance Analyzer.
[cited; Available from:
[17] Hernandez, O., et al., Performance Instrumentation and Compiler Optimizations for MPI/OpenMP Applications, in OpenMP Shared Memory Parallel Programming. 2008. p. 267-278.
[18] Wolf, F. and B. Mohr. Automatic performance analysis of hybrid MPI/OpenMP applications. in Parallel, Distributed and Network-Based Processing, 2003. Proceedings. Eleventh Euromicro Conference on. 2003.
[19] Bernd, M., et al., Design and Prototype of a Performance Tool Interface for OpenMP. J. Supercomput., 2002. 23(1): p. 105-128.
[20] Pallas, G., Public OpenMP Instrumentation Interface Specification, I.S.T.I. PROGRAMME, Editor.
[21] Luiz, D., M. Bernd, and S. Seetharam. An Implementation of the POMP Performance Monitoring Interface for OpenMP Based on Dynamic Probes. in Proceedings of the fifth European Workshop on OpenMP. 2003.
[22] University of Tennessee, PAPI User-s Guide, 3.5.0 edition.
[23] Bryan, B. and K.H. Jeffrey, An API for Runtime Code Patching. Int. J. High Perform. Comput. Appl., 2000. 14(4): p. 317-329.