Our goal is to make it easy and feasible to implement solutions for autonomous decision-making and planning under uncertainty on low-power mobile platforms. We focus on practical applications, such as autonomous driving and service robotics, that must run on SoC mobile platforms. These applications often have real-time execution constraints. The main challenge is to keep the runtime and energy performance in check while making it easy for the users (programmers) to write their code to solve decision-making problems.
Our proposal involves using low-power heterogeneous computing strategies, sparse data structures to fit large real-world decision-making problems on SoCs with scarce memory and computing resources, and oneAPI with DPC++ programming. We compare three heterogeneous scheduling strategies implemented with OpenCLTM + Threading Building Blocks (TBB) versus oneAPI + TBB (oneTBB) to run parallel code on CPU-GPU SoCs and evaluate their performance on a set of benchmarks for planning for mobile robot navigation. The benchmarks compute an optimal navigation plan with Value Iteration (VI) algorithm. VI is a fundamental method to find optimal policies, allowing an intelligent agent to act autonomously in environments where the effects of its actions are not deterministic. The experiments show that the implementations based on DPC++ are up to five times easier to program while incurring only three to eight percent overhead.
This work’s main novelty is solving large-scale Markov Decision Processes on low-power heterogeneous CPU-GPU platforms and demonstrating that we can achieve both performance and productivity when the scheduling strategy is carefully selected. We remark that the oneAPI programming model creates new opportunities to improve performance and efficiency in low-power systems.