> For the complete documentation index, see [llms.txt](https://nx.docs.scailable.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nx.docs.scailable.net/ai-manager-v6.1.4/ai-accelerators-support/advanced/edgecortix-support.md).

# EdgeCortix Support

## Summary

| AI Accelerator | Support Level | CPU Architecture | Operating System | API/driver version |
| -------------- | ------------- | ---------------- | ---------------- | ------------------ |
| Sakura-II      | Experimental  | x86\_64          | Ubuntu 22.04     | MERA 2.5           |

## Introduction: About EdgeCortix

EdgeCortix SAKURA-II is an AI accelerator built around EdgeCortix's low-latency Dynamic Neural Accelerator (DNA). SAKURA-II is designed for applications requiring fast, real-time Batch=1 AI inferencing with excellent performance in a small footprint, low power silicon device. SAKURA-II is designed to handle the most challenging Generative AI applications at the edge, enabling designers to create new content based on disparate inputs like images, text, and sounds.

## Workflow

The AI Manager deploys AI models securely on Sakura-II devices using the following steps:

1. Install all necessary software dependencies.
2. Install the Nx Meta Mediaserver on your machine and choose the EdgeCortix runtime option.
3. Upload your model to the AI Manager Cloud for compilation.
4. Compile and install the required post-processor.
5. Set up your inference pipeline.

## Hardware and Software Requirements

**Hardware Requirements:**

* X86 system with min of 32GB RAM to be able to support deployment for larger models (i.e LLMs)

**Software Requirements:**

* Ubuntu 22.04 LTS.
* Python 3.10

## Installation Steps

The MERA SDK 2.5 that enables creating model deployments for SAKURA-II can be downloaded from Edgecortix developer zone via this link: <https://www.edgecortix.com/en/developers/software-downloads>

**Note**: Register an account, or create one, to download the SDK.

## Verify Installation

Follow the steps in the <https://www.edgecortix.com/en/developers/sakura-ii-edge-ai-m.2-module-user-manual> or the <https://www.edgecortix.com/en/developers/sakura-ii-edge-ai-pcie-card-user-manual> to confirm SAKURA-II is installed correctly and ready to use. Then use the MERA User Manual <https://www.edgecortix.com/en/developers/mera-2.5-installation-and-user-manual> or the SDK README files to run inference on Sakura-II.

## Getting Started

This guide walks you through deploying the **Yolov8m** model on an EdgeCortix Sakura-II device using the AI Manager.

Before starting, become familiar with the AI Manager and the process of running models on a CPU. See the [configuration section](https://nx.docs.scailable.net/nx-ai-manager/configure-the-plugin) for a refresher.

This guide uses the following resources:

* **Nx Meta:** Use the Nx Meta 6.1.1 version or later, which you can install and configure as outlined in the [installation instructions](https://nx.docs.scailable.net/nx-ai-manager/install-network-optix).
* **ONNX Model:** The model is available at [model.onnx](https://drive.google.com/file/d/1lwB1c1KgMFjBDIGC2qIDibdwCxymdmne/view?usp=sharing)
* Post-processor: The post-processor source is available at [post\_processor.zip](https://drive.google.com/file/d/1MbIdc53gESZaQmce2KVOwA1gCC7me1nN/view?usp=sharing)

## Upload Model to AI Manager Cloud

Upload your ONNX model to the [AI Manager Cloud](https://admin.sclbl.nxvms.com/) following the steps outlined in [the upload section](https://nx.docs.scailable.net/nx-ai-cloud/upload-your-model).

Enable the **Edge Cortix** conversion option in the model upload form and set the correct normalization values.

The cloud platform will automatically convert the standard ONNX model into a Sakura-II-compatible MERA binary in the background. The model is ready for deployment once its status updates to **ok**.

## Select the EdgeCortix Runtime

The AI Manager provides native support for multiple AI accelerators. To route inference to the chip, select the **EdgeCortix** runtime in the AI Manager settings page:

## Install Post-Processor

Models running on the Sakura-II require an **external post-processor** to translate raw network output tensors (e.g., probability matrices) back into meaningful Nx metadata, such as object bounding boxes and classifications.

To deploy the provided YOLOv8m example, complete the following steps to compile and install the external C/C++ post-processor directly on the Nx Meta Mediaserver machine:

1. Extract the post-processor source code archive.
2. Execute the provided compilation script compile\_install.sh. This builds the post-processor and automatically copies its config.json definition into the AI Manager's post-processors directory:

```bash
bash ./compile_install.sh
```

To apply the change, restart the Nx VMS server. Instructions are available in [this section](https://nx.docs.scailable.net/support-and-troubleshooting/troubleshooting/controlling-the-server-and-the-plugin#restarting-the-server).

## Configure Pipeline

Within the Nx Meta Client, [configure the pipeline](https://nx.docs.scailable.net/nx-ai-cloud/use-your-model).

## Enable Inference on Camera

The final step is to activate inference for your camera by toggling the **Device Active** switch on the AI Manager settings page.

Inference results appear in the Nx Meta Client once the "Objects" tab is enabled.

To enable model inference on multiple cameras, repeat steps 4 and 5 for each camera.

## Supported Models

Currently, the only model supported by this integration is the **Yolov8m** model used in the example above.

Support for additional models in this integration is planned.

## Monitoring: Monitor Pipeline Throughput

To see the number of frames the AI Manager is processing for a camera, enable the model FPS event. You can find detailed instructions on this page: [Show AI inference framerate on video](https://nx.docs.scailable.net/nx-ai-manager/howtos/show-ai-inference-framerate-on-video).

## Monitoring: Monitor Chip Metrics

To monitor the device temperature or power consumption, users can run the Telemetry utility from within the Tools directory. See the README.md file within the Telemetry folder for instructions

## Troubleshooting: Missing Bounding-Boxes

If you are not seeing bounding boxes visualized in the desktop client, check the following potential factors:

* **Model Accuracy:** The model might not be accurate enough for the specific environment where it is deployed.
* **Corrupted Configuration:** If the pipeline configuration has become corrupted, try re-installing the post-processor and reconfiguring the pipeline.
* **Throughput Saturation:** If you assign the pipeline to too many high-framerate streams, the pipeline throughput may become significantly lower than the stream framerate. This causes the AI Manager to drop most frames. To troubleshoot this, disable the AI Manager integration on all but one camera and gradually increase the number of cameras until you identify the machine's saturation limit.
* **Pipeline Incompatibility:** If a camera on the server is assigned a model that is not compatible with the EdgeCortix chip, the AI Manager integration will stop working for *all* cameras across the server. Verify that all cameras have the correct pipeline assigned. If any camera has an incompatible model, disable the AI Manager integration for that camera.

## Technical Support

For technical questions, use the following support channels:

* EdgeCortix Developer Support: [Submit a Support Ticket](https://www.edgecortix.com/en/developers/submit-a-support-ticket)

{% tabs %}
{% tab title="Nx Witness" %}

* Nx Customer Support Portal: <https://support.networkoptix.com/>
  {% endtab %}

{% tab title="Nx Meta" %}

* Nx Customer Support Portal: <https://support.networkoptix.com/>
  {% endtab %}

{% tab title="Generic" %}

* Contact your reseller for platform support.
  {% endtab %}
  {% endtabs %}
