HPP Project Home Page

 

Project Purpose

The Heterogeneous Platform Project (HPP) works on technologies for use between different CPU types or different OS types. It is closely associated with the OpenAMP community project.

NOTE: The HPP project has been closed. This page/space is being kept for historical purposes until at least 2025/12/31.

Project Details

Project

Heterogeneous Platform (HPP)

Project Contact

Bill Mills - bill.mills@linaro.org

Project Lead

@Bill Mills

Project Manager

Mikael Rolfhamre - mikael.rolfhamre@linaro.org

Segment Group

LEDGE SG

Jira board

Jira is closed. See the archive page

Source Repository

OpenAMP at github

Presentations and blogs

The OpenAMP 23.10 release & demo images are available.

See the latest Virtio plans on the Monthly update pages.

Documentation/ wiki pages

https://openamp.readthedocs.io/en/latest/

Project mail list

Subscribe to openamp project mail lists

Meetings

  • HPP work & scope is discussed at the LEDGE SC

  • OpenAMP RP (Remoteproc/rpmsg) meeting
    Bi-weekly on Thursdays at 4 PM UK time
    Zoom Meeting

  • Other OpenAMP workgroup meetings are schedule ad hoc via the respective mailing list

Meeting Notes

OpenAMP meeting notes

Overview

The Heterogeneous Platform Project (HPP) works on technologies for use between different CPU types or different OS types. Current technologies include:

  • Remoteproc & Rpmsg

  • Virtio between two cores that do not share a hypervisor

  • System Devicetree

  • QEMU as a development platform for these systems

The Technologies above should provide value in lots of use cases including:

  • Linux + RTOS (or no OS)

  • RTOS + RTOS

  • Linux + Linux (future)

  • Inside a container or as a hypervisor guest

  • In co-operation with secure world components as needed

HPP is a Linaro project but it is also closely associated with the OpenAMP community project (also hosted at Linaro). HPP will be used for Linaro members to collectively decide how to use Linaro resources in OpenAMP and for non-OpenAMP aligned work. HPP will focus on the Arm ecosystem.

Non-OpenAMP work

Although OpenAMP has a broad scope, there may be topics in HPP that go beyond or ahead of where OpenAMP is focused. One example of such work could be:

  • Better QEMU emulation of server class SOCs and boards (SCP or BMC, etc)

Out of Scope

This project (and OpenAMP) focus on two or more general purpose CPUs in communication. The following scenarios are out of scope for now:

  • CPU to GPU

  • CPU to Hardware accelerator

The GPU ecosystem is a rich one on its own and has many technologies to leverage their capabilities. GPU technologies focus on graphics and compute offload and are not a good fit for other tasks like peripheral emulation or real-time control offload. Most GPU technologies are heavy weight and would not scale down well to a MCU control processor.

However, OpenAMP technologies may provide a low-level foundation for GPU technologies in some cases. This has been done with remoteproc & rpmsg underneath OpenCL for use with a DSP core as one example.

Likewise CPU to Hardware accelerator interfaces are primarily focused on compute offload and can range from very abstract to very specific and tightly CPU bound.

Future work in the GPU and HW areas is not forbidden and can re-evaluated when it makes sense. However the primary focus will remain on the CPU to CPU arena.

OpenAMP and HPP Background Presentations

Roadmap

N/A

Engaged Members