A Survey on Performance Tools for OpenMP

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.




References:
[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:
http://www.openmp.org/.
[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:
http://www.intel.com/cd/software/products/asmo-na/eng/219898.htm.
[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:
http://www.intel.com/cd/software/products/asmona/
eng/threading/286749.htm.
[16] SUN, M.I. Sun Collector and Performance Analyzer. [cited; Available
from: http://developers.sun.com/sunstudio/index.jsp.
[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.