High-Level Programming Model for Heterogeneous Embedded Systems Using Multicore Industry Standard Apis



Journal Title

Journal ISSN

Volume Title



Multicore embedded systems are rapidly emerging. Hardware designers are packing more and more features into their design. Introducing heterogeneity in these systems, i.e., adding cores of varying types, provides opportunities to solve problems in different aspects. However, those designs present several challenges to embedded system programmers since software is still not mature enough to efficiently exploit the capabilities of emerging hardware, gorgeous with cores of varying architectures.

Programmers still rely on understanding and using low-level hardware-specific APIs. The approach is not only time-consuming but also tedious and error-prone. Moreover, the solutions developed are very closely tied to a particular hardware, raising significant concerns over software portability. What is needed is an industry standard that will enable better programming practices for both current and future embedded systems. To that end, in this dissertation, we have explored the possibility of using existing standards, such as OpenMP, that provide portable high-level programming constructs along with the industry-driven standards for multicore systems.

We built a portable yet lightweight OpenMP runtime library that incorporates the Multicore Association APIs, making OpenMP programming model available to embedded-system programmers with a broad coverage of targeting embedded devices. In this dissertation, we also explore how to use industry standard APIs as the mapping layer of OpenMP onto heterogeneous-embedded systems. By adopting HIP as the plugin to our stack, we could portably map the applications to heterogeneous devices from different vendors with single-code space.



OpenMP, Embedded systems


Portions of this document appear in: Sun, Peng, Sunita Chandrasekaran, and Barbara Chapman. "Targeting heterogeneous socs using mcapi." SRC TECHCON (2014). And in: Sun, Peng, Sunita Chandrasekaran, and Barbara Chapman. "OpenMP-MCA: Leveraging Multiprocessor Embedded Systems Using Industry Standards." In Parallel and Distributed Processing Symposium Workshop (IPDPSW), 2015 IEEE International, pp. 679-688. IEEE, 2015. And in: Sun, Peng, Sunita Chandrasekaran, Suyang Zhu, and Barbara Chapman. "Deploying OpenMP task parallelism on multicore embedded systems with MCA task APIs." In High Performance Computing and Communications (HPCC), 2015 IEEE 7th International Symposium on Cyberspace Safety and Security (CSS), 2015 IEEE 12th International Conferen on Embedded Software and Systems (ICESS), 2015 IEEE 17th International Conference on, pp. 843-847. IEEE, 2015.