Slicer3:Performance Analysis

From NAMIC Wiki
Jump to: navigation, search
Home < Slicer3:Performance Analysis
Slicer3

Home

About

FAQ

Status

Downloads

Documentation

Community Support

Developers

Acknowledgements

Links

Slicer 3 Performance Analysis

We are looking into performance analysis on the Slicer3 codebase in order to streamline execution where possible, identify parts of the program to optimize, and determine which parts of Slicer3 are using the most system resources. We are currently in the process of determining which profilers to use on the various Slicer platforms.

Tools

Statistical Profilers

Profilers for Multi-threaded Applications

Runtime Instrumentation

An initial valgrind suppressions file for slicer is in subversion. It includes an example command line to run it with slicer that also uses the VTK, ITK, KWWidgets suppression files.

Targets

  • DICOM reader / GDCM
  • vtkITK
  • ImageReslice
  • ITK resampler w/ deformable transform

Sample Files

oprofile:

KCachegrind:

Quantify Info

Note: this is not yet working. For me, it dies trying to instrument KWWidgets.dll

An evaluation copy of Rational PurifyPlus is available from www.ibm.com.

To use this on windows, follow the install info then be sure to do the following:

  • Turn off incremental linking in CMake
    • in the CMAKE_EXE_LINKER_FLAGS and CMAKE_MODULE_LINKER_FLAGS
      • change /INCREMENTAL:YES to /INCREMENTAL:NO
      • add /fixed:NO
  • rebuild Slicer3-real.exe
  • create a shell with the slicer3 environment set
    • e.g. source Slicer3-build/bin/Debug/Slicer3SetupPaths.sh
  • in that shell, run
    • Quantify: c:/Program\ Files/Rational/purifyplus/quantifyw.exe
    • Purify: c:/Program Files/Rational/purifyplus/purifyw.exe