Dual processing with H7 Portenta

Hi, is dual-core processing supported on OpenMV? I have an H7 Portenta that I’d like to try this on.

There’s a tutorial on how to get this one on Cpp via Arduino IDE, but unfortunately nothing Micropython.

PC

There’s some documentation here: Guide to GIGA R1 Dual Cores | Arduino Documentation

1 Like

Hi @kwagyeman, thanks for that. The tutorial on GIGA R1 is very clear but the package cannot be imported on my Portenta; simply says no module named 'msgpackrpc'. Could you please confirm if this the right library for micropython: msgpack-rpc/msgpack-rpc-python: MessagePack RPC implementation for Python

PC

Hi, running MicroPython + the M4 is not a part of the OpenMV code base. You need to install this: MicroPython on the GIGA R1 | Arduino Documentation

Please note that this feature is supported through the Arduino forums.

While OpenMV’s firmware runs MicroPython too, there are large differences in the functionality and modules exposed.

Thanks for confirming! Just curious if this will be implemented in the future. It would be cool to be able to fully utilise the potential of these dual processor devices

PC

Hi, yes, we plan to provide support for such things. Rather soon too. However, in a newer form. :slight_smile: Stay tuned.

1 Like

Actually I’ve recently added support for this feature, and it’s enabled for Giga and Portenta, see the Open-AMP example in the menu. Note that you still have to provide your own M4 firmware, there’s also an example for that. There very little memory for the M4 so it has to be < 64KB and its data/stack memory < 16KB. It can also be loaded executed from SDRAM, but this will require more changes.
The feature itself is not very useful, but as mentioned in the future we will have much more useful dual core support.

2 Likes