Power Programming for Mobile Computing


Programming for mobile computing requires a shift toward power efficiency given that mobile devices are energy and thermal constrained. The Qualcomm Multicore Asynchronous Runtime Environment (MARE), is a runtime system and programming model that allows developers to exploit the full capabilities of the mobile platforms. MARE is designed and optimized for concurrent and heterogeneous execution on multi-core and specialized cores. Distributing computation across multiple compute resources improves performance and reduces power consumption. MARE eases the burden to express concurrent computation by providing both a high level API constructed around parallel programming patterns, and intuitive building blocks (tasks, dependencies, and groups) to allow fine control of decomposing applications. In addition, MARE introduces a novel set of power management APIs that allow programmers to express the quality of service in their applications. The MARE runtime system takes advantage of the additional semantics expressed by the programmer to optimize the power and performance when executing on heterogeneous platforms.


Matthew Badin
Calin Cascaval
Weiwei Chen
Pablo Montesinos-Ortego
Arun Raman