Reducing Energy Consumption for Machine Learning Inference on Edge Devices using C++20 Coroutines

Belson, Bruce, Holdsworth, Jason, Kerrison, Steve, and Philippa, Bronson (2026) Reducing Energy Consumption for Machine Learning Inference on Edge Devices using C++20 Coroutines. ACM Transactions on Embedded Computing Systems. (In Press)

[img]
Preview
PDF (Publisher Accepted Version) - Accepted Version
Available under License Creative Commons Attribution.

Download (2MB) | Preview
View at Publisher Website: https://doi.org/10.1145/3821577


Abstract

Increasingly, machine learning inference is implemented on relatively low-powered edge devices, where battery life is a key performance criterion. In this work, we demonstrate how C++20 coroutines can be used to reorganise the execution order of an iterative inference task on an edge device. A Prognostic and Health Management (PHM) application receives streams of vibration data as envelope spectra from a wireless sensor network and processes them locally through an array of Support Vector Machines. In our experiments on ARM Cortex A72 & A53 64-bit SoCs, this method can reduce energy consumption for the task by up to 18%, reduce overall energy use by up to 20% and cut execution time by up to 20.5%. Furthermore, peak power levels are reduced by up to 4.5%, which can increase battery lifespan by reducing wear. We demonstrate that the necessary changes to the C++ code are simple, repeatable and generally applicable to iterative inference tasks.

Item ID: 92537
Item Type: Article (Research - C1)
ISSN: 1558-3465
Keywords: C++20 coroutines, C++, embedded systems, machine learning inference, edge AI, energy efficiency
Copyright Information: This work is licensed under a Creative Commons Attribution 4.0 International License. © 2026 Copyright held by the owner/author(s).
Date Deposited: 30 Jun 2026 23:05
FoR Codes: 46 INFORMATION AND COMPUTING SCIENCES > 4606 Distributed computing and systems software > 460606 Energy-efficient computing @ 34%
46 INFORMATION AND COMPUTING SCIENCES > 4606 Distributed computing and systems software > 460603 Cyberphysical systems and internet of things @ 33%
46 INFORMATION AND COMPUTING SCIENCES > 4612 Software engineering > 461206 Software architecture @ 33%
SEO Codes: 28 EXPANDING KNOWLEDGE > 2801 Expanding knowledge > 280115 Expanding knowledge in the information and computing sciences @ 100%
More Statistics

Actions (Repository Staff Only)

Item Control Page Item Control Page