Who is this for?

This is an advanced topic for developers looking to build ONNX Runtime for Windows on Arm (WoA) and leverage the Generate() API to run Phi-3 inference with KleidiAI acceleration.

What will you learn?

Upon completion of this Learning Path, you will be able to:

  • Build ONNX Runtime and enable the Generate() API for Windows on Arm.
  • Run inference with a Phi-3 model using ONNX Runtime with KleidiAI acceleration.

Prerequisites

Before starting, you will need the following:

  • A Windows on Arm computer such as a Lenovo Thinkpad X13 running Windows 11, or a Windows on Arm virtual machine .

Summary

AI-assisted

This summary was drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
You’ll build ONNX Runtime and the Generate() API from source on Windows on Arm, then run Phi-3 Mini inference with KleidiAI acceleration. First, you’ll configure the development environment, compile the inference engine, and add the generation loop. Then, you’ll download the short-context ONNX model and run it to produce text and performance metrics.

Frequently asked questions

AI-assisted

These FAQs were drafted with an approved AI-assisted workflow and reviewed by Arm contributors before publication. Human technical review remains part of the process so the final page reflects engineering rigor, accuracy, and Arm editorial standards.

Close
?
Which Phi-3 model variant should I use for this path?
Use the Phi-3 Mini (3.3B) short-context (4K) ONNX model, which is quantized to 4 bits.
How do I know ONNX Runtime built correctly for Windows on Arm?
Confirm the build completes without errors and produces the expected binaries for WoA. If the build succeeds, proceed to build the Generate() API and run the model runner.
How can I confirm the Generate() API is available in my setup?
Build the onnxruntime-genai source and use the provided runner to generate text. Successful text generation indicates the Generate() API is correctly integrated.
What result should I expect when running the model runner?
Expect generated text from the Phi-3 Mini model along with performance metrics printed by the runner. If output appears without errors, continue to experiment with prompts.
Do I need to configure KleidiAI separately?
No. The path builds and runs ONNX Runtime with KleidiAI acceleration, and it doesn’t list any additional KleidiAI configuration.
Next