ThreadSpotterâ„¢

ThreadSpotterâ„¢ is a tool to quickly analyze an application for a range of performance problems, particularly related to multicore optimization.


 

Your application

Application: ./build-x86-octotiger/octotiger -Disableoutput -Problem=moving_star -Max_level=6 -Stopstep=0 -Xscale=32 -Odt=0.5 --hpx:threads=24 -Ihpx.stacks.use_guard_pages=0

Memory Bandwidth

The memory bus transports data between the main memory and the processor. The capacity of the memory bus is limited. Abuse of this resource limits application scalability.
Manual: Bandwidth

Memory Latency

The regularity of the application's memory accesses affects the efficiency of the hardware prefetcher. Irregular accesses causes cache misses, which forces the processor to wait a lot for data to arrive.
Manual: Cache misses Manual: Prefetching

Data Locality

Failure to pay attention to data locality has several negative effects. Caches will be filled with unused data, and the memory bandwidth will waste transporting unused data.
Manual: Locality

Thread Communication / Interaction

Several threads contending over ownership of data in their respective caches causes the different processor cores to stall.
Manual: Multithreading

This means that your application shows opportunities to:

Tune cache utilization to avoid processor stalls.

Read more...

 

Next Steps

The prepared report is divided into sections.

  • Select the tab Summary to see global statistics for the entire application.
  • Select the tabs Bandwidth Issues, Latency Issues and MT Issues to browse through the detected problems.
  • Select the tab Loops to browse through statistics and detected problems loop by loop.

The Issue and Source windows contain details and annotated source code for the detected problems.