From 3b6f7a139f52ece7fc00195d10c3b8ce5b14691d Mon Sep 17 00:00:00 2001 From: Irina Korchakova Date: Wed, 22 Jul 2026 13:58:19 +0200 Subject: [PATCH 1/4] [EIEX-998] Update eIQ Neutron SDK to 3.2.0 --- backends/nxp/backend/neutron_target_spec.py | 30 +++++++++++++++---- backends/nxp/requirements-eiq.txt | 2 +- .../node_converter/test_conv_converter.py | 4 +++ 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/backends/nxp/backend/neutron_target_spec.py b/backends/nxp/backend/neutron_target_spec.py index 04b7e0e9bb7..5a75caf9a75 100644 --- a/backends/nxp/backend/neutron_target_spec.py +++ b/backends/nxp/backend/neutron_target_spec.py @@ -122,20 +122,40 @@ def get_name(self) -> str: # Whether the target has subsystem (Neutron-S) or not (Neutron-C). def is_subsystem(self) -> bool: - return self.neutron_target.subsystem + return ( + self.neutron_target.npu.subsystem + if hasattr(self.neutron_target, "npu") + else self.neutron_target.subsystem + ) # Number of compute units. def get_num_units(self) -> int: - return self.neutron_target.numUnits + return ( + self.neutron_target.npu.numUnits + if hasattr(self.neutron_target, "npu") + else self.neutron_target.numUnits + ) # Number of compute pipelines. def get_num_pipes(self) -> int: - return self.neutron_target.numPipes + return ( + self.neutron_target.npu.numPipes + if hasattr(self.neutron_target, "npu") + else self.neutron_target.numPipes + ) # Number of compute MACs. def get_num_macs(self) -> int: - return self.neutron_target.numMacs + return ( + self.neutron_target.npu.numMacs + if hasattr(self.neutron_target, "npu") + else self.neutron_target.numMacs + ) # Neutron compute block hardware version. def get_hw_version(self) -> NeutronHWVersion: - return NeutronHWVersion(self.neutron_target.hwVersion) + return NeutronHWVersion( + self.neutron_target.npu.hwVersion + if hasattr(self.neutron_target, "npu") + else self.neutron_target.hwVersion + ) diff --git a/backends/nxp/requirements-eiq.txt b/backends/nxp/requirements-eiq.txt index 3bca9d2a912..a4c159bcd80 100644 --- a/backends/nxp/requirements-eiq.txt +++ b/backends/nxp/requirements-eiq.txt @@ -1,3 +1,3 @@ --index-url https://eiq.nxp.com/repository -eiq-neutron-sdk==3.1.3 +eiq-neutron-sdk==3.2.0 eiq_nsys diff --git a/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py b/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py index d9ffc6b2128..85d2f2c3e7c 100644 --- a/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py +++ b/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py @@ -757,6 +757,10 @@ def test__fwd_impl_b(self, input_shape, out_channels, use_qat, mocker, request): s := 1, d := 1, id=f"bounds of kernel height: {_conv_id(ins, oc, ks=ks, s=s, d=d)}", + marks=pytest.mark.xfail( + reason="AIR-14679", + strict=True, + ), ), pytest.param( ins := (4, 3, 3, 8500), From aeabd467777e9e5793e4940c763ae500949f8a03 Mon Sep 17 00:00:00 2001 From: Irina Korchakova Date: Wed, 29 Jul 2026 09:01:39 +0200 Subject: [PATCH 2/4] Unmark xfailed test --- .../tests/ir/converter/node_converter/test_conv_converter.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py b/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py index 85d2f2c3e7c..d9ffc6b2128 100644 --- a/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py +++ b/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py @@ -757,10 +757,6 @@ def test__fwd_impl_b(self, input_shape, out_channels, use_qat, mocker, request): s := 1, d := 1, id=f"bounds of kernel height: {_conv_id(ins, oc, ks=ks, s=s, d=d)}", - marks=pytest.mark.xfail( - reason="AIR-14679", - strict=True, - ), ), pytest.param( ins := (4, 3, 3, 8500), From 904bfadfc5a7531bb22ec0c64c4d04539428e3cb Mon Sep 17 00:00:00 2001 From: Irina Korchakova Date: Wed, 29 Jul 2026 11:24:15 +0200 Subject: [PATCH 3/4] Update Neutron SDK version in example script and documentation --- docs/source/backends/nxp/nxp-overview.md | 4 ++-- examples/nxp/setup.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/source/backends/nxp/nxp-overview.md b/docs/source/backends/nxp/nxp-overview.md index 0539af881e7..bf2c994c229 100644 --- a/docs/source/backends/nxp/nxp-overview.md +++ b/docs/source/backends/nxp/nxp-overview.md @@ -24,10 +24,10 @@ Among currently supported machine learning models are: - [MCUXpresso IDE](https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-integrated-development-environment-ide:MCUXpresso-IDE) or [MCUXpresso Visual Studio Code extension](https://www.nxp.com/design/design-center/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-for-visual-studio-code:MCUXPRESSO-VSC) - [MCUXpresso SDK 26.06](https://mcuxpresso.nxp.com/mcuxsdk/26.06.00/html/index.html) -- eIQ Neutron SDK version 3.1.3, what you can download from eIQ PyPI: +- eIQ Neutron SDK version 3.2.0, what you can download from eIQ PyPI: ```commandline -$ pip install --index-url https://eiq.nxp.com/repository eiq-neutron-sdk==3.1.3 +$ pip install --index-url https://eiq.nxp.com/repository eiq-neutron-sdk==3.2.0 ``` Instead of manually installing requirements, except MCUXpresso IDE and SDK, you can use the setup script: diff --git a/examples/nxp/setup.sh b/examples/nxp/setup.sh index 19ecb9b46e0..ae1333634c8 100755 --- a/examples/nxp/setup.sh +++ b/examples/nxp/setup.sh @@ -8,7 +8,7 @@ set -u EIQ_PYPI_URL="${EIQ_PYPI_URL:-https://eiq.nxp.com/repository}" # Install eIQ Neutron dependencies - SDK and simulator -pip install --index-url ${EIQ_PYPI_URL} eiq-neutron-sdk==3.1.3 eiq_nsys +pip install --index-url ${EIQ_PYPI_URL} eiq-neutron-sdk==3.2.0 eiq_nsys # Get the directory of the current script SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" From 8835a8171f965f832174563af462e13a61605d4b Mon Sep 17 00:00:00 2001 From: Irina Korchakova Date: Wed, 29 Jul 2026 13:32:01 +0200 Subject: [PATCH 4/4] Mark CoV2D kernel height bounds tests as xfail --- .../tests/ir/converter/node_converter/test_conv_converter.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py b/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py index d9ffc6b2128..85d2f2c3e7c 100644 --- a/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py +++ b/backends/nxp/tests/ir/converter/node_converter/test_conv_converter.py @@ -757,6 +757,10 @@ def test__fwd_impl_b(self, input_shape, out_channels, use_qat, mocker, request): s := 1, d := 1, id=f"bounds of kernel height: {_conv_id(ins, oc, ks=ks, s=s, d=d)}", + marks=pytest.mark.xfail( + reason="AIR-14679", + strict=True, + ), ), pytest.param( ins := (4, 3, 3, 8500),