- Infos im HLRS Wiki sind nicht rechtsverbindlich und ohne Gewähr -
- Information contained in the HLRS Wiki is not legally binding and HLRS is not responsible for any damages that might result from its use -

Threadspotter: Difference between revisions

From HLRS Platforms
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
{{Infobox software
{{Infobox software
| description = RogueWave (formerly Acumem) '''ThreadSpotter''' analyses the application on a binary level (your optimized code compiled with debugging symbols,  aka {{{-O2 -g}}}), finding occurrences of inefficient memory access patterns, such as cache usage and cache-effects due to multiple threads. The strength of the tool is in the reporting of problematic source code, giving hints in the code, proposing changes and offering information, how the change may affect cache usage.
| description = RogueWave (formerly Acumem) '''ThreadSpotter''' analyses the application on a binary level (your optimized code compiled with debugging symbols,  aka <tt>-O2 -g</tt>), finding occurrences of inefficient memory access patterns, such as bad cache usage (using only parts of a cacheline, evicting cache-lines) and cache-effects due to multiple threads. The strength of the tool is in the reporting of problematic source code, giving hints in the code, proposing changes and offering information, how the change may affect cache usage.
| developer    = RogueWave (formely Acumem)
| developer    = RogueWave (formely Acumem)
| logo = [[Image:roguewave-logo.jpg]]
| logo = [[Image:roguewave-logo.jpg]]
Line 11: Line 11:


== Usage ==
== Usage ==
Threadspotter is available through modules
Threadspotter is available through modules. After loading the module, the application in question needs to be sampled.
This can either be done through a graphical user interface (GUI), which invokes the application, or by calling sample
{{Command|command =
{{Command|command =
module load performance/acumem
module load performance/threadspotter
threadspotter
}}
}}


{{Note|text =
{{Note|text =
Do not forget to compile your application with debugging info (<tt>-g</tt> option).
Do not forget to compile your application with debugging info (<tt>-g</tt> option) in order to get line-based source-code information.
}}
}}


[[Image:threadspotter_gui.png|Threadspotter 2011.1 GUI on Nehalem]]


{{Note|text =
{{Note|text =
Please note, that for the graphical user interface (GUI), please submit Your interactive session with X11 forwarding: {{{qsub -I -X ...}}}
Please note, that for the graphical user interface (GUI) running on compute nodes, You need to submit the interactive session with X11 forwarding: {{{qsub -I -X ...}}}
}}
}}


== Examples ==
== Examples ==
Line 31: Line 35:
{{Command| command =
{{Command| command =
qsub -I -X ...
qsub -I -X ...
module load performance/acumem/threadspotter
module load performance/threadspotter
acumem
 
}}
}}


=== Collecting traces automatically from scripts ===
=== Collecting traces from MPI parallel applications ===


Set up the environment
Set up the environment, loading an MPI implementation, then calling sample with proper script:
{{Command| command =
{{Command| command =
module load performance/acumem/threadspotter
module load performance/threadspotter
XXX
}}
}}
==== Special Information: Nec Nehalem Cluster ====
XXX
==== Special Information: Cray XE6 ====
XXX




Line 57: Line 53:
== External links ==
== External links ==
* [http://www.roguewave.com/ Roguewave homepage]
* [http://www.roguewave.com/ Roguewave homepage]
* [http://www.acumem.com/index.php?option=com_content&task=blogcategory&id=30&Itemid=156 Threadspotter Tutorial]
* [http://www.roguewave.com/documents.aspx?Command=Core_Download&EntryId=957 Roguewave White Paper "Threadspotter in 30 minutes"]
* [http://www.roguewave.com/documents.aspx?Command=Core_Download&EntryId=1189 HLRS Success Story]


[[Category:Performance Analyzer]]
[[Category:Performance Analyzer]]

Revision as of 16:38, 10 January 2012

RogueWave (formerly Acumem) ThreadSpotter analyses the application on a binary level (your optimized code compiled with debugging symbols, aka -O2 -g), finding occurrences of inefficient memory access patterns, such as bad cache usage (using only parts of a cacheline, evicting cache-lines) and cache-effects due to multiple threads. The strength of the tool is in the reporting of problematic source code, giving hints in the code, proposing changes and offering information, how the change may affect cache usage.
Roguewave-logo.jpg
Developer: RogueWave (formely Acumem)
Platforms: NEC Nehalem Cluster, Cray XE6
Category: Debugger
License: Commercial
Website: Roguewave homepage


Usage

Threadspotter is available through modules. After loading the module, the application in question needs to be sampled. This can either be done through a graphical user interface (GUI), which invokes the application, or by calling sample

module load performance/threadspotter threadspotter


Note: Do not forget to compile your application with debugging info (-g option) in order to get line-based source-code information.


Threadspotter 2011.1 GUI on Nehalem

Note: Please note, that for the graphical user interface (GUI) running on compute nodes, You need to submit the interactive session with X11 forwarding: {{{qsub -I -X ...}}}


Examples

Starting on the nodes interactively

Set up the environment

qsub -I -X ... module load performance/threadspotter


Collecting traces from MPI parallel applications

Set up the environment, loading an MPI implementation, then calling sample with proper script:

module load performance/threadspotter XXX


See also

External links