This article demonstrates how to use Arm64EC in a C++ application. The application you will implement performs the multiplication of two pseudo-randomly generated square matrices. By Dawid Borycki.
With the advent of complex machine learning and artificial intelligence models, you need fast and energy-efficient hardware. For fast, efficient hardware, Arm has introduced an architecture used by most chips in embedded and mobile systems. It has been adopted for laptops, desktops, and servers and enables you to accelerate your applications.
Further in the article:
- App Porting with Arm64EC
- How It Works
- Arm64EC in Action
The Arm64EC ABI enables transparent and direct interoperability with your existing x64 dependencies, meaning you can use x64 and Arm64EC in the same process. This is possible because Arm64EC code is compiled with the same pre-processor architecture definitions as x64 code, and the Arm64EC ABI is compatible with the X64 ABI. Consequently, you can gain performance by speeding up the computation of intense code by employing Arm architecture without porting everything simultaneously to Arm64.
This article described the Arm64EC architecture, then demonstrated how to configure the Windows Dev Kit 2023 for Visual Studio development. It also showed how to use this environment to implement a C++ application and then how to implement it on an Arm64EC device. Finally, it confirmed the performance boost by switching from x64 to Arm64EC on an Arm-powered device. Nice one!
[Read More]