ThreadSpotter significantly improves code efficiencies at AWE

Rogue Wave Software ThreadSpotter has been selected by the UK’s Atomic Weapons Establishment (AWE) to help optimize its code for its multicore processors.  

As a center of scientific and technological excellence, with some of the most advanced research design and production facilities in the world, AWE plays a crucial role in the defense of the United Kingdom. Employing Rogue Wave’s ThreadSpotter to analyze performance issues in its code and provide recommendations on performance solutions has helped improve both the productivity and performance of developers at AWE. AWE chose ThreadSpotter as a complementary product to Rogue Wave’s TotalView, a GUI-based source code debugger, which they have used for 14 years.

“Organizations in the defense industry continue to prefer our software development solutions for mission-critical programs because Rogue Wave’s tools and components are highly dependable,” stated Chris Gottbrath, Principal Product Manager at Rogue Wave Software. “ThreadSpotter is the most advanced and easy-to-use cache performance optimization product available. It identifies problems quickly, prioritizes them and points the developers directly to what needs to be changed. Using ThreadSpotter alongside TotalView, companies have a powerful toolset to overcome challenges related to the development, debugging, and performance optimization of complex applications.”

“Atomic Weapons Establishment has chosen Rogue Wave’s ThreadSpotter because it simplifies cache optimization, which is a key to achieving the best performance out of multi-core processors,” stated Ken Atkinson, AWE’s HPC Strategy Manager. “AWE has already seen some significant improvements in code efficiencies that were identified using ThreadSpotter and the developers were delighted with the simplicity of utilizing the tool.”

ThreadSpotter helps eliminate performance issues by identifying problematic sites in the code where a change could make the program far more efficient. Failure to  efficiently use cache memory is a frequent cause of poor performance because the processor has to stall for many cycles waiting for data to be fetched from main memory. The only way to achieve full performance from the CPU is for data to be in the cache. Unlike traditional profilers and performance-counter based tools that gather data, but provide little analysis, ThreadSpotter provides specific guidance on performance issues by identifying them, estimating each issue’s importance and rank ordering them. ThreadSpotter then guides the developer to the location in the source code where the issues are located. In many cases, ThreadSpotter provides examples on how code or data structures can be refactored to achieve performance.