2020-10-12 17:28:20 +00:00
---
2021-11-18 19:00:48 +00:00
title: Arm NN
description: Instructions to execute ONNX Runtime with Arm NN on Armv8 cores
2020-10-12 17:28:20 +00:00
parent: Execution Providers
2022-07-29 19:44:36 +00:00
nav_order: 2
2021-11-18 19:00:48 +00:00
redirect_from: /docs/reference/execution-providers/ArmNN-ExecutionProvider
2020-10-12 17:28:20 +00:00
---
2021-05-10 22:19:37 +00:00
# ArmNN Execution Provider
{: .no_toc}
## Contents
{: .no_toc }
* TOC placeholder
{:toc}
2020-10-12 17:28:20 +00:00
2021-11-18 19:00:48 +00:00
Accelerate performance of ONNX model workloads across Armv8 cores with the ArmNN execution provider. [ArmNN ](https://github.com/ARM-software/armnn ) is an open source inference engine maintained by Arm and Linaro companies.
2020-10-12 17:28:20 +00:00
2021-05-10 22:19:37 +00:00
## Build
2021-10-14 18:28:17 +00:00
For build instructions, please see the [BUILD page ](../build/eps.md#armnn ).
2020-10-12 17:28:20 +00:00
2021-05-10 22:19:37 +00:00
## Usage
### C/C++
2020-10-12 17:28:20 +00:00
To use ArmNN as execution provider for inferencing, please register it as below.
```
2020-12-02 00:10:58 +00:00
Ort::Env env = Ort::Env{ORT_LOGGING_LEVEL_ERROR, "Default"};
2021-08-12 16:59:32 +00:00
Ort::SessionOptions so;
2020-12-02 00:10:58 +00:00
bool enable_cpu_mem_arena = true;
2021-08-12 16:59:32 +00:00
Ort::ThrowOnError(OrtSessionOptionsAppendExecutionProvider_ArmNN(so, enable_cpu_mem_arena));
2020-10-12 17:28:20 +00:00
```
2021-10-14 18:28:17 +00:00
The C API details are [here ](../get-started/with-c.md ).
2020-10-12 17:28:20 +00:00
2021-05-10 22:19:37 +00:00
## Performance Tuning
2021-10-14 18:28:17 +00:00
For performance tuning, please see guidance on this page: [ONNX Runtime Perf Tuning ](../performance/tune-performance.md )
2020-10-12 17:28:20 +00:00
When/if using [onnxruntime_perf_test ](https://github.com/microsoft/onnxruntime/tree/master/onnxruntime/test/perftest ), use the flag -e armnn