Neutron NPU Internal Fault (Code 442) on Verdin i.MX95 with TensorFlow Lite INT8 Model

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Neutron NPU Driver Error Code 442 Analysis

Thank you for the detailed report regarding the Neutron NPU driver fault on your Verdin i.MX95 module. Based on the information available, this appears to be related to known issues with the Neutron delegate implementation.

Known Issues with Neutron NPU

The community has reported similar issues with the Neutron NPU delegate (1). Specifically, there have been reports of internal errors during model conversion and execution, particularly affecting fully connected layers and complex classifier models like InceptionV3, ResNet50, and MobileNetV3Small (1).

Neutron Delegate Implementation Details

The Neutron delegate is designed to capture operators and aggregate them as neutron graph nodes for offloading to the Neutron-S NPU. For offline compilation, models should be converted through the eIQ toolkit first, where the neutronGraph node is already generated (2). The neutron delegate then captures the neutronGraph node and offloads work to Neutron-S.

Troubleshooting Steps

Based on similar community reports (3), here are some steps to investigate:

  1. Verify Library Installation: Ensure that libovxlib and related NPU libraries are properly installed in your container environment (3).

  2. Check Delegate Loading: Confirm that the delegate library path /usr/lib/libneutron_delegate.so is accessible and properly linked (3).

  3. Model Conversion Verification: Since you mentioned the model is fully quantized INT8, verify that it was properly converted using the eIQ Toolkit’s neutron converter, as offline compilation is required for optimal NPU execution.

Environment Configuration

For NPU execution, ensure your environment includes the proper configuration (3):

USE_HW_ACCELERATED_INFERENCE=1
USE_GPU_INFERENCE=0
ACCEPT_FSL_EULA=1

Current Status and Recommendations

The error code 442 you’re encountering appears to be an internal driver fault that has been observed by other users in the community (1). While the exact root cause and timeline for fixes aren’t specified in the available documentation, the issue seems to be related to the Neutron delegate’s interaction with specific model architectures.

Next Steps

  1. Model Conversion: Try re-converting your MobileNetV2 model using the latest eIQ Toolkit to ensure proper neutronGraph generation
  2. BSP Version: Verify you’re using the latest BSP version that includes Neutron software stack updates (2)
  3. Fallback Strategy: Continue using CPU execution with XNNPACK as your stable fallback until the NPU driver issues are resolved

The community has noted that while single fully connected layers may work, complex classifiers often encounter conversion and execution issues (1). Your experience with the systematic invoke() failure aligns with these reported patterns.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.