Introducing the Snapdragon Performance Visualizer Tool Suite for Developers

Tuesday 4/8/14 07:55am
|
Posted By Rick Schwartz
  • Up1
  • Down0

Wouldn’t it be nice if you could profile your mobile apps using the same tools device manufacturers use? Now you can. The Snapdragon™ Performance Visualizer is a suite of software tools designed for system performance monitoring, profiling and debugging. It comes pre-installed on select Snapdragon Mobile Development Platform (MDP) smartphones and tablets.

Instead of wasting time downloading, compiling and installing a number of different utilities, you can get started profiling right away. The software tools in this package are designed to help you avoid crashes and improve application reliability through functionality that, until now, has been available only to OEMs and carriers, including:

  • Low-level system traces
  • Performance monitors that show cache hits and misses
  • Special memory leak and corruption analysis

Our objective with the Snapdragon Performance Visualizer tool suite is to make it easy for you to see how your apps affect these subsystems so you can quickly find and fix bottlenecks in your code. You can perform both real-time and post-processing analysis on the data collected by the software tools and then zoom in on particular areas of interest.

Snapdragon Performance Visualizer comes pre-installed on select Snapdragon MDP devices. On a USB-connected computer, you can select each tool through a browser-based interface. Besides advanced features for profiling the CPU and GPU, Snapdragon Performance Visualizer also includes tools designed to help you validate, debug and optimize your code.

Here is an overview of three of the many tools that are part of the Snapdragon Performance Visualizer:

Live View
  • Live View allows you to plot performance monitors, temperature and other system variables in real-time. It collects, plots and correlates real-time data from local and off-chip sources, including:
  • CPU and GPU performance monitors
  • L2 performance monitors
  • Temperature monitors
  • Memory utilization
  • CPU utilization

In summary, Live View is an easy to use tool that allows you to visualize, analyze and correlate the impact of detailed CPU and system data on application performance in real time.

Live View Screenshot

OProfile

OProfile is an easy-to-use, graphical wrapper around a popular statistical profiling tool for Linux. Designed for a high-level view of how and where a mobile processor spends its time, OProfile shows you an entire system down to its parts – from interrupt routines or drivers to user-space processes.

OProfile lets you configure these options:

  • Events from the system timer, or available ARM performance monitoring events like cache misses or instructions executed
  • Sample Rate, with a default setting of 1,000 samples per second
  • Filter samples by user space, kernel space or both
  • Kernel Buffer Size
  • Analyzing OProfile reports like the one shown below helps you to validate, debug and optimize your code as well as find performance bottlenecks.

OProfile Screen Shot

ProfileView

ProfileView offers a time-correlated perspective into multiple SoC subsystems – performance monitors, temperature sensors, power, memory utilization, instrumented events – in a running system. ProfileView generates exportable, interactive, Scalable Vector Graphics-based charts that combine:

  • All Live View plots
  • Expanded time chart with CPU, GPU, IRQ process and thread information
  • Time-in-state, process swaps, core migrations, frame rate and other statistics
  • Statistical profiling similar to that of OProfile, with time/process/thread/library filters, assembly level hotspot viewer and callstacks

The time chart pane shows information about each core, interrupt and process, along with GPU issue and power state information when GPU information is included in the kernel. The CPU Profiling pane displays data sampled every millisecond, with an overview of the processes, threads, libraries and functions consuming CPU cycles.

ProfileView Screen Shot

Next Steps

We’ve covered just three of the tools that are part of the Snapdragon Performance Visualizer, with more to come. If you’re developing for Snapdragon, the suite is your best opportunity to get your hands on the performance profiling tools and functionality that carriers and OEMs use.

Snapdragon Performance Visualizer is included at no additional charge for the rights granted under the license with the Snapdragon 800 MDP Smartphone and Snapdragon 805 MDP Tablet. Order yours now from Bsquare or Intrinsyc.