Environment Setup
Get the SDK
Get the NPU SDK through the Radxa Download Station.
wget https://dl.radxa.com/orion/common/cix_noe_sdk_25_q3_release.tar.gz
tar -xvf cix_noe_sdk_25_q3_release.tar.gz
cd cix_noe_sdk_25_q3_release/
Extracted directory structure:
.
├── CixBuilder-6.1.3407.2-cp310-none-linux_x86_64.whl
├── cix-noe-umd_2.0.2_arm64.deb
├── cix-npu-driver_2.0.1_arm64.deb
├── env_setup.sh
├── npu_sdk_last_manifest_list.xml
└── requirements.txt
Set up the host environment
Create a virtual environment
It is recommended to use miniforge to manage virtual environments.
Click to install the installation script.
chmod +x Miniforge3-25.11.0-0-Linux-x86_64.sh
bash Miniforge3-25.11.0-0-Linux-x86_64.sh
Then install it by following the script instructions.
The SDK is only compatible with Python 3.10.
conda create -n noe python=3.10
conda activate noe
Use the script to set up the development environment
bash env_setup.sh
Verify the build environment
Run cixbuild -v in the terminal to check the build environment version.
cixbuild -v
Set up the environment on the device
The official OS image for Radxa Orion O6 / O6N already includes the NPU driver, so you do not need to install it again.
Run the command below to ensure the relevant environment on the board is correctly installed.
sudo apt install cix-drivers-dkms cix-noe-umd cix-npu-onnxruntime task-cix-npu
UMD stands for User Mode Driver.
UMD provides standard APIs as a shared library. It parses application requests and coordinates with the NPU driver for resource allocation and task submission.
For detailed API usage, refer to API manual.