The wait between the announcement of new hardware and its arrival on your desk is now over. With Arm Virtual Hardware, developers can now open an IDE, connect to a virtual version of their wanted hardware, and start developing software straight away. And, today, I am pleased to announce we are extending the capabilities of Arm Virtual Hardware to address new uses cases and to enable a wider range of Arm processors and third-party hardware.
In October 2021, Arm launched Virtual Hardware (see my previous blog about this first release here), a new cloud-based offering which enables software development without the need for physical hardware, reducing product design cycles from five to three years. Since this release, we have captured feedback from beta users and the Arm ecosystem and made significant updates to this release. In this blog, I will share further details about these updates.
Arm Virtual Hardware is now available for:
This extended Arm Virtual Hardware library allows for the automation of the modern IoT Ops CI/CD cycles in the cloud. This removes the need to buy expensive board farms and reduces the cost of maintenance and development. By working with the technology ecosystem, including the most popular board providers, we can accelerate time-to-market for silicon partners, OEMs, and service providers.
Oracle has been pioneering Arm-based compute with the Ampere A1 instances but the collaboration between Oracle and Arm doesn’t stop there: to help designers and developers, Oracle and Arm are announcing the availability, in beta, of Arm Virtual Hardware on Oracle Cloud Infrastructure (OCI). Using OCI Ampere A1, Oracle’s Arm-based compute instances and Arm Virtual Hardware, software developers can build and test applications without the need for physical hardware on OCI Free Tier.
The OCI Free Tier allows users to deploy up to 4 cores and 24GB RAM in a single virtual machine and use the Arm Cortex-M55 and Ethos-U55 virtual hardware completely for free!
To find more information and instructions from the team at Oracle, click here.
Physical hardware can be challenging to scale for testing, even for relatively affordable boards due to space and equipment requirements as well as ongoing costly maintenance. For this reason, we have worked directly with the most popular continuous integration and DevOps platforms to integrate Arm Virtual Hardware with their services and provide an easy path to scale your testing infrastructure.
Thanks to those integrations, developers can seamlessly move software testing workloads to the cloud and scale to hundreds or thousands of virtual boards in minutes, hugely accelerating the software development process.
Here are a few integration examples:
With more than 73 million developers and 200 million repositories, GitHub is the largest development platform in the world. Arm Virtual Hardware can be used with GitHub actions to run automatic tests on the code hosted on GitHub. Learn how to use Arm Virtual Hardware with GitHub actions in your own repository:
Jenkins is a very popular open-source automation server, helping developers build, test and deploy software. See how to use Arm Virtual Hardware instances with Jenkins to test the accuracy and performance of machine learning software:
GitLab is a DevOps platform, which combines the ability to securely develop and operate software in a single application. This makes development easier and leads to a faster cycle time. GitLab runner can be installed in the AWS AMI image of Arm Virtual Hardware to run test without physical hardware.
CircleCI is a continuous integration and continuous delivery platform optimized for developer productivity, speed, and confidence, automating builds across multiple environments. Leveraging CircleCI's on-demand runners, developers can dynamically provision runners in a CircleCI pipeline to test on Arm Virtual Hardware at scale.
With the increasing adoption of ML at the edge, the ability to build and test an ML model quickly is critical. Arm Virtual Hardware provides this functionality with integrated ML tools from Edge Impulse and Qeexo, empowering data scientists to iterate experiments with different network architectures and optimizations much more quickly and independent of the availability of physical hardware.
Here's what our ML partners had to say about Arm Virtual Hardware:
"As the adoption of machine learning at the edge is increasing in the commercial environment, minimizing the iteration cycle of ML model development became critical. With the support of the Arm Virtual Hardware platform, Qeexo AutoML users now can take their machine learning ideas further by building and testing ML solutions for Arm-based hardware even before silicon availability." – Michael Gamble, Product Manager, Qeexo
“Edge Impulse developers have learned to rely on the ability to quickly iterate through different ML and DSP solutions and accurately estimate on-device performance in the cloud. With Arm Virtual Hardware, we will now enable developers to estimate their model performance confidently and accurately on all Arm-based devices with the click of a button." - Jan Jongboom, co-founder and CTO, Edge Impulse
We understand that not all developers are yet able to develop their software in the cloud. Keil MDK is the most comprehensive software development solution for Arm-based microcontrollers and we've added the capabilities to run Arm Virtual Hardware CPU models locally in Keil MDK-Professional. A 30-day trial is available now.
IoT devices often interact with the physical world through peripherals such as microphones and cameras. Testing the software behaviour in different conditions is challenging as many factors can influence the quality or consistency of the peripheral stimulus like sound or an image. For this reason, as part of the latest release, we have added Virtual Streaming Interfaces. This enables the modelling of peripherals for generating streams of data such as microphones, cameras, positioning devices and more. You can find more information here.
[CTAToken URL = "http://avh.arm.com" target="_blank" text="Get started with Arm Virtual Hardware" class ="green"]
Does any of three complete IoT development boards mentioned in the above blog post comes with NPU for ML?
For more details on the virtual Raspberry Pi 4 have a look at Welcome to the Virtual Raspberry Pi 4 running on AWS Graviton processors