AI Accelerator

Reference guide for the DEEPX DX-M1 Ultra NPU on the ALPON X5 AI — covering runtime installation, supported model formats, real-world performance benchmarks, and Docker deployment configuration.

AI Accelerator

ALPON X5 AI · DEEPX DX-M1 Ultra · NPU Reference

Technical reference for the DEEPX DX-M1 Ultra NPU built into the ALPON X5 AI — covering runtime installation, supported model formats, performance data, and deployment guidance for Docker-based workloads.

Module
DX-M1 Ultra
M.2 2280 · DEEPX
AI Performance
25 TOPS
INT8 inference
Dedicated Memory
4 GB
On-chip · does not share system RAM
Host Interface
PCIe Gen3
Shared via ASM2806I switch
Power
2–5 W
Min / max under AI workloads
ParameterValue
ModuleDEEPX DX-M1 Ultra (M.2 2280)
AI Performance25 TOPS
Dedicated Memory4 GB on-chip — does not share system RAM
Host InterfacePCIe Gen3 (shared with NVMe SSD via ASM2806I switch)
Power Consumption2 W minimum · 5 W maximum under AI workloads
Monitoring Tooldxtop — command-line NPU monitor, similar to htop

Installing the DEEPX Runtime

The DEEPX Python library requires the DEEPX Runtime (libdxrt) to be installed first. Without the runtime, the Python library will not function.

1
Import the GPG key
terminalshell
wget -qO - https://durmazdev.github.io/dxrt-apt/public.gpg | sudo gpg --dearmor -o /usr/share/keyrings/dxrt-repo.gpg
2
Add the repository
terminalshell
echo "deb [signed-by=/usr/share/keyrings/dxrt-repo.gpg] https://durmazdev.github.io/dxrt-apt trixie main" | sudo tee /etc/apt/sources.list.d/dxrt-repo.list
3
Install the runtime library
terminalshell
sudo apt update && sudo apt install libdxrt
4
Activate the Python environment
terminalshell
source /usr/lib/libdxrt/dxrt-venv

Driver Deployment Model

The DEEPX driver is installed at the host OS level and comes pre-installed on the ALPON OS image. Application code and the runtime environment are deployed inside Docker containers, providing a clean separation between the system layer and user workloads.

ℹ️
Host Driver · Container Runtime The driver lives on the host OS. The DEEPX Runtime and your application code run inside containers. This architecture means OS updates and application deployments are decoupled from one another.

Supported AI Model Formats

Models must be converted to ONNX format before deployment on the DEEPX NPU. The following frameworks are supported for model export:

  • PyTorch
  • TensorFlow / Keras
  • XGBoost
  • MXNet
  • Any framework capable of exporting to ONNX format

Once in ONNX format, models are compiled for the DEEPX hardware using the DEEPX compiler toolchain before being deployed to the device.


Known Limitations

Transformer-based model architectures are not yet supported by the DEEPX Runtime.
Image-based models (CNNs, detection models) work reliably.
Models requiring more than 4 GB of memory will not run on this accelerator.

Real-World Performance

Performance depends on how the model is compiled. Models compiled with PPU (Post-Processing Unit) support achieve significantly higher throughput.

ResolutionApproximate FPS (PPU-compiled YOLO models)
1280 × 720 (HD)~50 FPS
1920 × 1080 (Full HD)~20–25 FPS
💡
PPU Support PPU support is available for most YOLO model variants. PPU-compiled models handle post-processing entirely on the NPU, reducing CPU overhead. Without PPU, post-processing runs on the CPU and may reduce overall throughput depending on workload complexity.

Running Multiple Models & Task Allocation

The DEEPX DX-M1 Ultra supports concurrent execution of multiple AI models. Models are scheduled and managed by the DEEPX Runtime automatically.

Tasks can be split between the CM5 CPU and the DEEPX NPU. For optimal performance, it is strongly recommended to compile models with PPU support. PPU-compiled models perform all post-processing steps on the NPU, keeping CPU usage low. If a model is compiled without PPU support, post-processing will run on the CPU, which may create a bottleneck depending on workload complexity.


Programming Languages & APIs

The DEEPX Runtime provides APIs for both Python and C++ application development.

Python
dx_engine
C++
dxrt_api.h

Using the NPU Inside Docker Containers

To access the DEEPX NPU from within a Docker container, two flags are required:

  • Run the container in privileged mode (--privileged)
  • Mount the NPU device node: --device /dev/dxrt0
terminalshell
docker run --privileged --device /dev/dxrt0 -it your-image:tag
⚠️
Privileged Mode Running a container with --privileged grants it access to all host devices. Use this only for containers that require NPU access and ensure images come from trusted sources.

Monitoring NPU Performance

Use the dxtop command to monitor the NPU's real-time status, including utilization and memory consumption — similar to htop for CPU monitoring.

terminalshell
dxtop

Power Mode Control

There is currently no software interface for switching between NPU power modes. The NPU operates at a fixed performance level and does not support user-configurable power profiles.