DEEPX Support
About DEEPX
DEEPX is a leading on-device AI semiconductor company specializing in Neural Processing Units (NPUs), headquartered in South Korea.

DEEPX has launched the DX-M1 AI Accelerator, delivering 25TOPS under 5W, offering exceptional performance-per-watt efficiency.
To support seamless deployment and execution of deep learning models, DEEPX provides the DXNN Compiler along with various software components optimized for DEEPX hardware.
For more information, please visit the official website.
Hardware and Software Requirements
The DX-M1 module supports both Linux (Ubuntu, Debian) and Windows operating systems.
Supported platforms
- x86_64 (Intel, AMD) 
- ARM64 (aarch64) 
Minimum system requirements
- RAM: 8GB (16GB or higher recommended) 
- Disk Space: 4GB or more 
- Slot: M.2 Key-M (PCIe Gen3 x4 recommended) 
Note: PCIe Gen3 x1 is supported, but performance will be limited.
Installation Guide
This guide provides instructions for the physical and software installation of the DX-M1 module.
1. Hardware Installation
To install the DX-M1 module, insert it into an available M.2 (Key M) slot on the target system. The required power (up to 3.3V / 3A) is delivered through the M.2 interface, so no external power connection is needed.
2. Software Installation
After the module is physically installed, you must install the necessary software components from the DEEPX SDK, which is publicly available on GitHub.
The installation must follow a specific order:
- Install DX Runtime (DX-RT) and NPU Driver. The installation order between these two components does not matter. 
- Install Firmware (FW). Once both the DX Runtime and NPU Driver are installed, proceed with the Firmware (FW) update. 
3. Verifying Installation and Compatibility
After completing the software installation, you can run verification commands to ensure the setup is correct and all components are compatible.
Checking System Status
To verify that the module is properly recognized and all components are running, use the dxrt-cli --status command:
dxrt-cli --statusA successful setup will produce an output similar to the following, displaying the correct versions for the runtime, driver, and firmware:
DXRT v3.0.0
=======================================================
 * Device 0: M1, Accelerator type
---------------------   Version   ---------------------
 * RT Driver version   : v1.7.1
 * PCIe Driver version : v1.4.1
-------------------------------------------------------
 * FW version          : v2.1.4
--------------------- Device Info ---------------------
 * Memory : LPDDR5 6000 Mbps, 3.92GiB
 * Board  : M.2, Rev 1.5
 * Chip Offset : 0
 * PCIe   : Gen3 X4 [08:00:00]
NPU 0: voltage 750 mV, clock 1000 MHz, temperature 39'C
NPU 1: voltage 750 mV, clock 1000 MHz, temperature 39'C
NPU 2: voltage 750 mV, clock 1000 MHz, temperature 39'C
=======================================================Checking Version Compatibility
To check the minimum required versions of the driver and firmware for your installed DX-RT version, run the dxrt-cli -v command:
dxrt-cli -vThe output will show the compatibility requirements as follows:
DXRT v3.0.0
Minimum Driver Versions
  Device Driver: v1.7.1
  PCIe Driver: v1.4.1
  Firmware: v2.1.0
Minimum Compiler Versions
  Compiler: v1.18.1
  .dxnn File Format: v6Supported Models
The DEEPX SDK includes an Open Model Zoo that provides various pre-optimized neural network models for DEEPX NPUs.
All models are available as:
- Pretrained ONNX models 
- Corresponding configuration .json files 
- Precompiled DXNN binaries 
These models cover tasks such as:
- Object Detection 
- Face Detection 
- Classification 
- Other vision AI applications 
Creating a ZIP Archive for Model Conversion
To convert models for use with DEEPX Accelerators in the NX AI Cloud, models must be uploaded as a ZIP archive.
For instructions on preparing the archive, refer to this GitHub guide: Prepare Your Model
For guidance on JSON configuration files and supported ONNX operators, refer to the following
documents:
Building post-processor for the Nx AI Manager
Models deployed to DEEPX Accelerators using the Nx AI Manager require custom external post-processing to transform the model’s raw outputs to meaningful insights such as bounding boxes.
For instance, for the Yolov5 (320, final output only) trained on the COCO dataset, the following archive contains the source code and the recipe to build it:
Yolov5 DEEPX post-processor archive.
To compile and install it, you can run:
bash compile_install.sh
sudo systemctl restart  networkoptix-metavms-mediaserver.service # For changes to take effect.Finally, make sure to assign the compiled post-processor to the DEEPX model pipeline as shown here.
Important Notes
DX-RT Build Option
The provided Post-Processor functions correctly only when DX-RT is built with the USE_ORT=ON option. If you build DX-RT with the USE_ORT=OFF option, the number and shape of the output tensors sent to the Post-Processor will be different. Therefore, you must develop and use a separate Post-Processor specifically for that environment.
Model Output Configuration
We do not recommend using models that output per-layer feature maps in addition to the final output tensor required for post-processing. Such models can cause overall performance degradation due to unnecessary memory usage and data copying.
For example, in the case of a YOLOv5 320x320 model, the required final output tensor for post-processing is as follows:
- output, FLOAT, [1, 6300, 85]
However, some ONNX models may be configured to output unnecessary feature maps in addition to the final result, as shown below:
- 458, FLOAT, [1, 3, 20, 20, 85]
- output, FLOAT, [1, 6300, 85]
- 397, FLOAT, [1, 3, 40, 40, 85]
- 519, FLOAT, [1, 3, 10, 10, 85]
Using a model with such unnecessary outputs can lead to the following problems:
- Potential for Malfunction: If the order of the output tensors passed to the Post-Processor changes, it may fail to find the correct tensor and will not function properly. 
- Performance Degradation: Even when the Post-Processor functions without errors, the presence of these extra outputs still causes performance degradation. The Inference Engine must perform unnecessary memory allocation and copy operations for the unused feature maps, which leads to a decrease in overall throughput and an increase in latency. 
Therefore, before converting an ONNX model to the dxnn model format, it is crucial to verify that the model does not output any unnecessary feature maps.
Monitoring and Troubleshooting Tips
The DX-RT includes essential tools like dxrt-cli and dxtop, designed for device status
checks, real-time monitoring, firmware updates, and troubleshooting.
dxrt-cli – Command-line tool for device management
It supports operations such as device status checks, firmware updates, monitoring, resets, and diagnostics.
Example usage:
$ dxrt-cli -h
DXRT v3.0.0
DXRT v3.0.0 CLI
Usage:
  dxrt-cli [OPTION...]
  -s, --status             Get device status
  -i, --info               Get device info
  -m, --monitor arg        Monitoring device status every [arg] seconds
                           (arg > 0)
  -r, --reset arg          Reset device(0: reset only NPU, 1: reset entire
                           device) (default: 0)
  -d, --device arg         Device ID (if not specified, CLI commands will
                           be sent to all devices.) (default: -1)
  -u, --fwupdate arg       Update firmware with deepx firmware file.
                           sub-option : [force:force update, unreset:device
                           unreset(default:reset)]
  -w, --fwupload arg       Upload firmware with deepx firmware
                           file.[2nd_boot/rtos]
  -g, --fwversion arg      Get firmware version with deepx firmware file
  -p, --dump arg           Dump device internals to a file
  -C, --fwconfig_json arg  Update firmware settings from [JSON]
  -v, --version            Print minimum versions
      --errorstat          show internal error status
      --ddrerror           show ddr error count
  -h, --help               Print usagedxtop – Real-time monitoring tool (Linux only)
dxtop is a terminal-based utility that provides real-time insights into:
- NPU Memory usage 
- Utilization 
- Temperature 
- Voltage 
- Clock frequency 
Example usage:
[DX-TOP]  (q) Quit   (n) Next Page   (p) Prev Page   (h) Help
Tue Sep 16 16:59:48 2025
DX-RT: v3.0.0     NPU Device driver: v1.7.1     DX-TOP: v1.0.1
-------------------------------------------------------------------------------
Device :0     Variant: M1     PCIe Bus Number: 08:00:00     Firmware:  v2.1.4
  NPU Memory:  [                    ] 0 B / 3.92 GiB (0.00%)
    Core :0   Util:   0.0%   Temp: 40 °C   Voltage: 750 mV   Clock: 1000 MHz
    Core :1   Util:   0.0%   Temp: 40 °C   Voltage: 750 mV   Clock: 1000 MHz
    Core :2   Util:   0.0%   Temp: 40 °C   Voltage: 750 mV   Clock: 1000 MHz
-------------------------------------------------------------------------------
Total Devices: 1
Page: 1 / 1Technical Support
For technical assistance or questions, please contact us through the following channels:
- DEEPX Developer Portal: https://developer.deepx.ai/ 
- DEEPX Support Email: [email protected] 
- Nx Customer Support Portal: https://support.networkoptix.com/ 
Last updated