Difference between revisions of "Performance Tools"

From Point
Jump to: navigation, search
([http://cl.cs.utk.edu/papi/ PAPI (Performance Application Programming Interface)])
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
== [http://tau.uoregon.edu TAU (Tuning and Analysis Utilities)] ==
 
== [http://tau.uoregon.edu TAU (Tuning and Analysis Utilities)] ==
 
TAU Performance System is a portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, Java, Python. Applications can be instrumented at the source code level using an automatic instrumentor tool based on the [http://www.cs.uoregon.edu/research/pdt PDT (Program Database Toolkit)], dynamically using [http://www.dyninst.org/ DyninstAPI], at runtime in the Java virtual machine, or manually using the instrumentation API.
 
TAU Performance System is a portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, Java, Python. Applications can be instrumented at the source code level using an automatic instrumentor tool based on the [http://www.cs.uoregon.edu/research/pdt PDT (Program Database Toolkit)], dynamically using [http://www.dyninst.org/ DyninstAPI], at runtime in the Java virtual machine, or manually using the instrumentation API.
 +
====Learn about TAU====
 +
* S. Shende and A. D. Malony, [http://www.cs.uoregon.edu/research/paracomp/publ/htbin/bibify.cgi?cmd=show&coll=JOUR&id=ijhpca05.tau&data_present=no "The TAU Parallel Performance System"] International Journal of High Performance Computing Applications, SAGE Publications, 20(2):287-331, Summer 2006
  
* [http://www.cs.uoregon.edu/research/paracomp/publ/htbin/bibify.cgi?cmd=show&coll=JOUR&id=ijhpca05.tau&data_present=no "The TAU Parallel Performance System" paper]
+
* [http://tau.uoregon.edu/ Visit] TAU's website for more information.
* [http://tau.uoregon.edu Visit] TAU's website for more information.
 
  
== [http://cl.cs.utk.edu/papi/ PAPI (Performance Application Programming Interface)] ==
+
== [http://icl.cs.utk.edu/papi/ PAPI (Performance Application Programming Interface)] ==
PAPI aims to provide the tool designer and application engineer with a consistent interface and methodology for use of the performance counter hardware found in most major microprocessors. PAPI enables software engineers to see, in near real time, the relation between software performance and processor events.
+
PAPI aims to provide the tool designer and application engineer with a consistent interface and methodology for use of the performance counter hardware found in most major microprocessors. PAPI enables software engineers to see relationships between software performance and processor events.
  
* Wolf, F., Mohr, B. [http://icl.cs.utk.edu/projectsfiles/papi/pubs/parco03.ps.gz "Hardware-Counter Based Automatic Performance Analysis of Parallel Programs"] Proc. of the Minisymposium 'Performance Analysis', Conference on Parallel Computing (PARCO), Elsevier, Dresden, Germany, September 3, 2003.
+
==== Learn about PAPI ====
 +
* Browne, S., Dongarra, J., Garner, N., Ho, G., Mucci, P.[http://icl.cs.utk.edu/publications/pub-papers/2000/papi-journal-final.pdf "A Portable Programming Interface for Performance Evaluation on Modern Processors"] The International Journal of High Performance Computing Applications, Volume 14, number 3, pp. 189-204, Fall 2000.
 
* [http://icl.cs.utk.edu/papi/ Visit] PAPI's website for more information.
 
* [http://icl.cs.utk.edu/papi/ Visit] PAPI's website for more information.
  
== [http://icl.cs.utk.edu/kojak/ KOJAK] ==
+
== [http://www.scalasca.org/ Scalasca] ==
KOJAK is a performance-analysis tool for parallel applications supporting the programming models MPI, OpenMP, SHMEM, and combinations thereof. Its functionality addresses the entire analysis process including instrumentation, post-processing of performance data, and result presentation. It is based on the idea of automatically searching event traces of parallel applications for execution patterns indicating inefficient behavior. The patterns are classified by category and their significance is quantified for every program phase and system resource involved. The results are made available to the user in a flexible graphical user interface, where they can be investigated on varying levels of granularity.
+
Scalasca is a scalable performance-analysis tool for parallel applications supporting the programming models MPI, OpenMP, SHMEM, and combinations thereof. Its functionality addresses the entire analysis process including instrumentation, parallel post-processing of performance data, and result presentation. It is based on the idea of automatically searching event traces of parallel applications for execution patterns indicating inefficient behavior. The patterns are classified by category and their significance is quantified for every program phase and system resource involved. The results are made available to the user in a flexible graphical user interface, where they can be investigated on varying levels of granularity.
  
* Publications
+
==== Learn about Scalasca ====
* [http://icl.cs.utk.edu/kojak/ Visit] KOJAK's website for more information.
+
 
 +
* F. Wolf, B. J. N. Wylie, E. Ábrahám, D. Becker, W. Frings, K. Fürlinger, M. Geimer, M.-A. Hermanns, B. Mohr, S. Moore, M. Pfeifer, Z. Szebeny[http://www.fz-juelich.de/jsc/datapool/KojakPubs/hlrs_ptw08.pdf "Usage of the SCALASCA Toolset for Scalable Performance Analysis of Large-Scale Parallel Applications"]  Proc. 2nd HLRS Parallel Tools Workshop, pp. 157-167, Stuttgart, Germany, July 2008.  
 +
* [http://www.scalasca.org/ Visit] Scalasca's website for more information.
  
 
== [http://perfsuite.ncsa.uiuc.edu/ PerfSuite] ==
 
== [http://perfsuite.ncsa.uiuc.edu/ PerfSuite] ==
 
PerfSuite is a collection of tools, utilities, and libraries for software performance analysis where the primary design goals are ease of use, comprehensibility, interoperability, and simplicity. This software can provide a good "entry point" for more detailed performance analysis and can help point the way towards selecting other tools and/or techniques using more specialized software if necessary (for example, tools/libraries from academic research groups or third-party commercial software).
 
PerfSuite is a collection of tools, utilities, and libraries for software performance analysis where the primary design goals are ease of use, comprehensibility, interoperability, and simplicity. This software can provide a good "entry point" for more detailed performance analysis and can help point the way towards selecting other tools and/or techniques using more specialized software if necessary (for example, tools/libraries from academic research groups or third-party commercial software).
  
* Publications
+
==== Learn about PerfSuite ====
 +
 
 +
* [http://perfsuite.ncsa.uiuc.edu/publications/LCI-2005.pdf "PerfSuite: An Accessible, Open Source Performance Analysis Environment for Linux"]. 6th International Conference on Linux Clusters: The HPC Revolution 2005. Chapel Hill, NC. April 2005.
 
* [http://perfsuite.ncsa.uiuc.edu/ Visit] PerfSuite's website for more information.
 
* [http://perfsuite.ncsa.uiuc.edu/ Visit] PerfSuite's website for more information.

Latest revision as of 21:00, 14 July 2009

TAU (Tuning and Analysis Utilities)

TAU Performance System is a portable profiling and tracing toolkit for performance analysis of parallel programs written in Fortran, C, C++, Java, Python. Applications can be instrumented at the source code level using an automatic instrumentor tool based on the PDT (Program Database Toolkit), dynamically using DyninstAPI, at runtime in the Java virtual machine, or manually using the instrumentation API.

Learn about TAU

  • Visit TAU's website for more information.

PAPI (Performance Application Programming Interface)

PAPI aims to provide the tool designer and application engineer with a consistent interface and methodology for use of the performance counter hardware found in most major microprocessors. PAPI enables software engineers to see relationships between software performance and processor events.

Learn about PAPI

Scalasca

Scalasca is a scalable performance-analysis tool for parallel applications supporting the programming models MPI, OpenMP, SHMEM, and combinations thereof. Its functionality addresses the entire analysis process including instrumentation, parallel post-processing of performance data, and result presentation. It is based on the idea of automatically searching event traces of parallel applications for execution patterns indicating inefficient behavior. The patterns are classified by category and their significance is quantified for every program phase and system resource involved. The results are made available to the user in a flexible graphical user interface, where they can be investigated on varying levels of granularity.

Learn about Scalasca

PerfSuite

PerfSuite is a collection of tools, utilities, and libraries for software performance analysis where the primary design goals are ease of use, comprehensibility, interoperability, and simplicity. This software can provide a good "entry point" for more detailed performance analysis and can help point the way towards selecting other tools and/or techniques using more specialized software if necessary (for example, tools/libraries from academic research groups or third-party commercial software).

Learn about PerfSuite