From 95fec03deff22b4395430e6fb39a37505c375a35 Mon Sep 17 00:00:00 2001 From: Kristofer Jonsson Date: Wed, 8 Sep 2021 16:13:27 +0200 Subject: Add section about multi subsystem to README.md Change-Id: Ia972102713b4e7178e3c5d26862c9bfda751130a --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 4d48584..6419dfd 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,28 @@ and unblocks any waiting user space processes. ![Run inference](docs/kernel_inference.svg "Run inference") +# Multi subsystem + +The Ethos-U subsystem is also referred to as the *ML Island*. A device with +multiple subsystems is therefor called both *Multi Subsystem* and *Multi +Island*. A subsystem may contain a single- or multiple NPUs, also referred to as +*multi NPU subsystem*. + +The NPUs within a subsystem must be of identical configuration. However, NPUs +belonging to separate subsystems may be of different architectures. + +For each subsystem there is a device tree entry, which will result in a separate +device node `/dev/ethosu` being created by the Ethos-U kernel driver. For +multi NPU subsystems there will still only be one device node per subsystem. The +distribution of inferences within a subsystem is handled by the software running +on the Cortex-M. + +Buffers used to store networks, IFMs and OFMs are allocated from the device +node. This is because only the device node knows where to allocate the memory +and how to translate Linux logical addresses to subsystem DMA addresses. As a +consequence buffers, networks and inferences are bound to a device node and +can't be easily moved. + # Licenses The kernel drivers are provided under a GPL v2 license. All other software -- cgit v1.2.1