Skip to content

Host neural receiver build fails on DGX Spark with TensorRT 11 because modelopt is unavailable #27

Description

@FansenZhao

Description

When building all enabled plugins on the host using:

./plugins/common/build_all_plugins.sh --host

the neural receiver plugin fails while generating the TensorRT engine plan because the modelopt Python package cannot be imported.

The system is a DGX Spark platform and TensorRT 11 is detected correctly.

Steps to reproduce

cd ~/sionna-rk
./plugins/common/build_all_plugins.sh --host

Actual behavior

Building plugins using build.host section
Searching for plugins in: /home/airan/sionna-rk/plugins

Processing plugin: data_acquisition
  Build skipped (not enabled or no command configured)
----------------------------------------
Processing plugin: ric_xapps
  Build skipped (not enabled or no command configured)
----------------------------------------
Processing plugin: neural_receiver
  Build enabled. Executing: ./scripts/build-trt-plans.sh --plan ./models/nrx_oai.host.plan
  Working directory: /home/airan/sionna-rk/plugins/neural_receiver

Using plan file: /home/airan/sionna-rk/plugins/neural_receiver/models/nrx_oai.host.plan
Using ONNX file: /home/airan/sionna-rk/ext/neural_rx/onnx_models/nrx_oai.onnx
Detected TensorRT major version: 11

ERROR: the 'modelopt' Python package is required to build TensorRT v11 plans
       Install it with 'pip install nvidia-modelopt[onnx]' (it is included in
       requirements.txt and installed by scripts/configure-system.dgx-spark.sh).

Expected behavior

The host build script should automatically use the Python virtual environment created by:

./scripts/configure-system.dgx-spark.sh

and successfully import modelopt before generating:

plugins/neural_receiver/models/nrx_oai.host.plan

Alternatively, the configuration script should ensure that nvidia-modelopt[onnx] is installed and verify the installation before completing.

Workaround

Installing the package manually in the repository virtual environment resolves the missing dependency:

cd ~/sionna-rk

env/bin/python -m pip install --upgrade 'nvidia-modelopt[onnx]'
env/bin/python -c "import modelopt; print(modelopt.__file__)"

./plugins/common/build_all_plugins.sh --host

Suggested improvements

  1. Verify that modelopt can be imported at the end of scripts/configure-system.dgx-spark.sh.
  2. Print the Python interpreter and virtual environment selected by build-trt-common.sh.
  3. Provide an option for build_all_plugins.sh to install or synchronize missing Python requirements automatically.
  4. Exit with a more explicit message when the repository virtual environment exists but does not contain the required dependency.

This would make it easier to determine whether the issue is caused by an incomplete environment setup, an outdated virtual environment, or failure to activate the expected environment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions