If you missed the recent technical webinar, Machine Learning on Arm Cortex-A – it's now available on demand. This showed how developers can move neural network (NN) workloads around an SoC quickly and easily using Arm NN, facilitating software portability and reducing the need for processor-specific optimization.
You can view the recording at any time – and don’t forget to check out the running and profiling Arm NN on the HiKey 960 How-To Guide that was discussed. If you’re interested in using Streamline to profile machine learning applications on Arm, it’s a great place to start!
There were a number of interesting questions posed during and after the broadcast, so I thought it would useful to address some of the more common ones in this blog post. Here goes…
Is Streamline free of charge? Streamline is part of Arm Development Studio. There is 30 day free trial available on the Arm Developer website.
Can Linux perf be used to profile ML applications? Yes, Streamline is just one performance analysis tool; other tools such as perf can also be used. Arm MAP is another tool that provides insights into application performance.
What version of Linux was used for the examples?The examples were demonstrated with Ubuntu 16.04 using Ubuntu Base for Arm, but any version of Linux can be used. To experiment with Mali GPU support it’s important to have a Linux distribution enabled with OpenCL.
Do the examples work on other boards? Yes, the examples can be used on other boards. Any board with a Cortex-A CPU can be used. Depending on the Linux version and the version of the GNU compiler, some adjustments may be needed to compile the software, but it’s supported on both Armv7 and Armv8 Cortex-A systems.
Where can I get a HiKey 960 board? There are multiple vendors selling boards; the best place to start is 96boards.org, where each board has a ‘buy now’ section linking to selling sites. Amazon is also a good place to find what you need.
How do you connect the HiKey 960 board to a wireless access point? The easiest way is to use an HDMI monitor and USB keyboard to boot to the command line and then use the nmtui utility to connect to a local network. Once the board is connected, ssh can be used from another machine on the network to login.
Is there an OpenCL driver available for Linux on the HiKey 960 board? Yes, there is. It’s included in the Ubuntu 16.04 for the HiKey 960 board and is also available on the Arm Developer website.
What if I don’t have a Mali GPU? Arm NN can run on any Cortex-A CPU, even if there is no Mali GPU present. A GPU is not necessary, but may provide better performance, depending on the application.
Are there other example applications that use Arm NN? Yes! You’ll find lots of resources on our ML Developer Community.
How long does it take to compile the Arm NN software? Depending on the machine used, it could take from 30 minutes to two hours to build the required software. There’s a build script on github that shows the steps for the MNIST examples demonstrated in the webinar. These can be used to learn the build process.
Can Arm NN and the Arm Compute Library be cross-compiled from an x86 machine? Yes, the software can be cross-compiled from x86 or native compiled on an Arm machine. The build script on github handles both.
How can I get involved in the Arm NN collaboration with Linaro? Visit mlplatform.org, where you’ll find resources, information on contributions and mailing list archives to see what’s happened so far.
Be sure to visit the ML forum on the Arm Community to ask questions and see what others are up to. And if there are other topics you’d like to see in future ML webinars, please comment below. Happy (machine) learning!
[CTAToken URL = "https://developer.arm.com/solutions/machine-learning-on-arm" target="_blank" text="Visit the ML Developer Community" class ="green"]