Getting Started with the Snapdragon Heterogenous Compute SDK and Power Optimization SDK
Power tuning and heterogeneous execution are key to balancing power consumption and performance
As described in our App Notes for the Qualcomm® Snapdragon™ Heterogeneous Compute SDK and the Snapdragon Power Optimization SDK, developers can use APIs to balance performance and power consumption. The main intent of those APIs is to help lower power consumption and give developers direct control to embed certain system recommendations in their applications.
This Getting Started tutorial builds on those App Notes by using some of the features of the Snapdragon Heterogeneous Compute SDK and the Snapdragon Power Optimization SDK. In order to gauge how code changes affect power consumption and performance, it also uses features of Snapdragon Profiler, our tool for analyzing CPU, GPU, DSP, memory, power, thermal and network usage.
Strategy for balancing power consumption and performance
In short, the approach in this Getting Started tutorial is to use as many cores as available in the system (with the Snapdragon Heterogeneous Compute SDK) and lower their operating frequency (with the Snapdragon Power Optimization SDK). The goal is to achieve the same performance while consuming less power.
There is a direct correlation between core frequency and power consumption, so lowering that frequency implies reducing power consumption. But by parallelizing and taking advantage of the heterogeneous nature of the Snapdragon mobile platform, developers can maintain performance level and use less power.
This tutorial is based on modifications to a sample routine for finding all prime numbers under 10,000,000. (Because of the compute-intensive nature of the algorithm, and for ease in conveying the concepts, the tutorial focuses on big and LITTLE clusters on CPU. Still, the same principle applies when computing heterogeneously across CPU, GPU and DSP.) The mobile device used for measurement is a smartphone powered by the Snapdragon 835 mobile platform.