PikeOS implements OpenMP API support for Easier Programming for Parallel Heterogeneous Platforms

PikeOS implements OpenMP API support for Easier Programming for Parallel Heterogeneous Platforms
Enkhtuvshin Janchivnyambuu (SYSGO)

AMPERE consortium has selected the OpenMP API as parallel programming model for the AMPERE project. It enables to efficiently manage the execution between the host and multiple acceleration devices by defining synchronization methods and transfer mechanisms to offload computation effort and data flow.

The SYSGO team has implemented OpenMP support for PikeOS during the first project months. In particular, the library libgomp has been ported to support the PikeOS native API. This library from the GNU Compiler Collection enables high-level parallel programming by means of OpenMP's directive-based syntax instead of explicit calls to the low-level PikeOS API.

Furthermore, in the context of the Work Package 5, the project's platform selection process has been successfully finished by listing the CU102 board with a Zynq UltraScale+ MPSoc. SYSGO has started to port PikeOS on the CU102 board. Currently, the Architecture Support Package is available and the project team is waiting for partner requirements to be incorporated into the Board Support Package (BSP) requirements list.

PikeOS Real-time operating system (RTOS) and hypervisor are designed to manage virtualization along with the special requirements of complex embedded systems. Among other needs, it addresses real-time responsiveness, deterministic, and diverse hardware and software support. While server or desktop virtualization mainly targets space partitioning to make better use of an x86 hardware platform, PikeOS embedded virtualization offers more flexibility through time and space partitioning. PikeOS embedded virtualization provides partitions for multiple guest operating systems and supports diverse hardware platforms.

 

Figure 1. Platform Management Unit (Power Management Control)
Figure 1. Platform Management Unit (Power Management Control)


In recent years, the typical embedded Cyber-physical System of Systems (CPSoS) incorporates multiple acceleration devices. AMPERE project addresses the optimisation challenges by maximising the utilisation and performance capabilities of parallel heterogeneous platforms and acceleration devices using parallel frameworks and programming models. SYSGO’s project team embraces these efforts with its contribution.

SYSGO’s participates in the AMPERE project to strengthen the position of PikeOS on the European market which is currently dominated by US companies and create new markets for its RTOS hypervisor. The strategy to achieve these goals is to constantly innovate the product line. AMPERE facilitates the extension of the PikeOS functionality to support parallel heterogeneous hardware. The targeted simplicity of programming for heterogeneous hardware will improve PikeOS market position. It will strengthen its position for dependability and real-time with cross-layer programming support to reduce programming and integration efforts. Many companies plan or have to use highly heterogeneous hardware in next-generation systems. Therefore, SYSGO sees support for parallel heterogeneous platforms as an important milestone.