ThreadSpotter Videos

  • An Introduction to ThreadSpotter

    This video is an introduction to using ThreadSpotter. A live demonstration is shown, including sampling an application and navigating a report.


  • Optimizing Memory Performance of an N-Body Simulation Using ThreadSpotter

    In this tutorial, ThreadSpotter is used to identify performance bottlenecks in a gravitational N-body problem simulation. Communication overhead and false sharing prevent the parallel application from scaling as expected, and once resolved, a speedup of 8x performance is realized.

    N-body
  • Identifying and Resolving False Sharing Issues Using ThreadSpotter

    This tutorial examines a multi-threaded program that builds the fractal Mandelbrot set. Initially, the algorithm scales very poorly due to communication overhead from cache coherency issues. ThreadSpotter is used to identify the issues, pinpointing the problematic sections in the code. The resulting fix leads to a nearly linear scaling of performance as more CPU cores are used.
  • ThreadSpotter Helps Resolve Numerous Cache Misses in a Gaussian Elimination Algorithm

    This tutorial examines the Gaussian Elimination algorithm with respect to cache memory performance. Rogue Wave's ThreadSpotter tool is used to analyze the program where it quantifies and locates a high number of cache misses. Based on this advice, a blocking version of the algorithm is implemented and performance is improved over 6x.
  • Addressing Random Memory Access Patterns in a GMRES Algorithm Using Threadspotter

    This tutorial examines a Circular Block Toeplitz GMRES algorithm with respect to cache memory performance. Rogue Wave's ThreadSpotter tool is used to analyze the program where it isolates data access challenges. Based on this advice, the algorithm is re-implemented and performance is improved over 4x.