Hi MXNet community AI on MCUs can enable cheaper, lower power, better privacy and lower latency applications. There’s an estimate of more than 20 billion connected devices to be deployed in 2020 and a part of them will do some amount of AI / ML tasks. Testing in embedded devices is very challenging and expensive due to logistics, tooling and resource constraints. Here I would like to announce a contribution I have done using the free and open-source emulator QEMU and Docker to perform hardware virtualization and test MXNet on edge devices, specifically to test the MXNet artifacts on ARM such as Pip wheels and run unit tests.
There's small instructions to run a virtualized environment on the bottom of the README.md in the ci folder: https://github.com/apache/incubator-mxnet/tree/master/ci#testing-with-qemu I would encourage you to give it a try and report any comments or feedback. The plan is to integrate it into nightly testing. We would need to narrow down a bit the scope of testing since still the full suite is just too big and resource intensive to finish in a reasonable time. My idea would be to split the unit tests into different suites such as core / gluon / extended. Do you have any suggestions for this split? As a cool thing to try, you can execute the following command which will give you a shell in an ARM VM (also sshable via ssh -p2222 qemu@localhost) so you can use and debug MXNet in ARM: ci/build.py -p test.arm_qemu -b && docker run -p2222:2222 -ti mxnetci/build.test.arm_qemu How cool is that? If you are curious or want to hack on it, have a look at the qemu folders under ci. Pedro.