vllm - ✅(Solved) Fix [Bug][ROCm]: NIXL not available logs when using MoRI connector [1 pull requests, 4 comments, 3 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
vllm-project/vllm#40593Fetched 2026-04-23 07:24:05
View on GitHub
Comments
4
Participants
3
Timeline
21
Reactions
0
Timeline (top)
mentioned ×5subscribed ×5commented ×4labeled ×2

Fix Action

Fixed

PR fix notes

PR #40594: [Fix][ROCm] Lazily import NIXL to suppress irrelevant info logs when using MoRI connector

Description (problem / solution / changelog)

Purpose

Fixes #40593.

Context: The nixl_utils.py logs warnings upon import if NIXL/RIXL is not available. Currently we always import this utils file from the eplb code paths, even when not using NIXL.

This PR lazily imports nixl_utils.py so that we don't get logs about NIXL when not using NIXL.

Test Plan

Run with MoRI and expect these logs dissappear:

docker run -it --rm \
      --init \
      --network host \
      --ipc host \
      --privileged \
      --cap-add SYS_PTRACE \
      --security-opt seccomp=unconfined \
      --ulimit memlock=-1 \
      --ulimit stack=67108864 \
      --shm-size 256G \
      --group-add video \
      --group-add render \
      --device /dev/kfd \
      --device /dev/dri \
      --device /dev/infiniband \
      -v /sys:/sys \
      -v "${HOME}/.cache/huggingface:/root/.cache/huggingface" \
      -e HF_HOME=/root/.cache/huggingface \
      -e HF_HUB_ENABLE_HF_TRANSFER=0 \
      -e VLLM_MORIIO_CONNECTOR_READ_MODE=1 \
      -e NCCL_MIN_NCHANNELS=112 \
      -e VLLM_USE_V1=1 \
      -e VLLM_ENGINE_READY_TIMEOUT_S=3600 \
      -e VLLM_SERVER_DEV_MODE=1 \
      -e VLLM_ROCM_USE_AITER=1 \
      -e VLLM_ROCM_USE_AITER_PAGED_ATTN=0 \
      -e VLLM_ROCM_USE_AITER_RMSNORM=1 \
      -e VLLM_USE_AITER_TRITON_SILU_MUL=0 \
      rocm/vllm-dev:add-bnxt-drivers \
      deepseek-ai/DeepSeek-R1-0528 \
          --load-format dummy \
          --tensor-parallel-size 8 \
          --kv-cache-dtype fp8 \
          --gpu-memory-utilization 0.7 \
          --max-num-batched-tokens 32768 \
          --max-model-len 16384 \
          --trust-remote-code \
          --no-enable-prefix-caching \
          --block-size 1 \
          --enforce-eager \
          --kv-transfer-config '{
            "kv_connector": "MoRIIOConnector",
            "kv_role": "kv_producer",
            "kv_connector_extra_config": {
              "proxy_ip": "127.0.0.1",
              "proxy_ping_port": "36367",
              "http_port": "8100",
              "handshake_port": "6301",
              "notify_port": "61005"
            }
          }'

Test Result

No such logs.


<details> <summary> Essential Elements of an Effective PR Description Checklist </summary>
  • The purpose of the PR, such as "Fix some issue (link existing issues this PR will resolve)".
  • The test plan, such as providing test command.
  • The test results, such as pasting the results comparison before and after, or e2e results
  • (Optional) The necessary documentation update, such as updating supported_models.md and examples for a new model.
</details>

Changed files

  • vllm/distributed/eplb/eplb_communicator.py (modified, +4/-4)

Code Example

Your output of `python collect_env.py` here

---

WARNING 04-22 08:08:45 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:45 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:45 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:45 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:45 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:45 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:45 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:45 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:45 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:45 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:46 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:46 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:46 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:46 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:46 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:46 [nixl_utils.py:44] NIXL agent config is not available

---

docker run -it --rm \
      --init \
      --network host \
      --ipc host \
      --privileged \
      --cap-add SYS_PTRACE \
      --security-opt seccomp=unconfined \
      --ulimit memlock=-1 \
      --ulimit stack=67108864 \
      --shm-size 256G \
      --group-add video \
      --group-add render \
      --device /dev/kfd \
      --device /dev/dri \
      --device /dev/infiniband \
      -v /sys:/sys \
      -v "${HOME}/.cache/huggingface:/root/.cache/huggingface" \
      -e HF_HOME=/root/.cache/huggingface \
      -e HF_HUB_ENABLE_HF_TRANSFER=0 \
      -e VLLM_MORIIO_CONNECTOR_READ_MODE=1 \
      -e NCCL_MIN_NCHANNELS=112 \
      -e VLLM_USE_V1=1 \
      -e VLLM_ENGINE_READY_TIMEOUT_S=3600 \
      -e VLLM_SERVER_DEV_MODE=1 \
      -e VLLM_ROCM_USE_AITER=1 \
      -e VLLM_ROCM_USE_AITER_PAGED_ATTN=0 \
      -e VLLM_ROCM_USE_AITER_RMSNORM=1 \
      -e VLLM_USE_AITER_TRITON_SILU_MUL=0 \
      ${VLLM_IMAGE} \
      deepseek-ai/DeepSeek-R1-0528 \
          --load-format dummy \
          --tensor-parallel-size 8 \
          --kv-cache-dtype fp8 \
          --gpu-memory-utilization 0.7 \
          --max-num-batched-tokens 32768 \
          --max-model-len 16384 \
          --trust-remote-code \
          --no-enable-prefix-caching \
          --block-size 1 \
          --enforce-eager \
          --kv-transfer-config '{
            "kv_connector": "MoRIIOConnector",
            "kv_role": "kv_producer",
            "kv_connector_extra_config": {
              "proxy_ip": "127.0.0.1",
              "proxy_ping_port": "36367",
              "http_port": "8100",
              "handshake_port": "6301",
              "notify_port": "61005"
            }
          }'
RAW_BUFFERClick to expand / collapse

Your current environment

<details> <summary>The output of <code>python collect_env.py</code></summary>
Your output of `python collect_env.py` here
</details>

🐛 Describe the bug

I am running vLLM with the MoRI-IO connector (standard deployment). However, I get logs about NIXL not being available (as it's not), but since I am not using NIXL I don't really mind if NIXL is available or not. Not an actual issue but more confusion IMO. I would expect these logs not to show up unless we actually use NIXL.

WARNING 04-22 08:08:45 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:45 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:45 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:45 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:45 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:45 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:45 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:45 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:45 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:45 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:46 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:46 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:46 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:46 [nixl_utils.py:44] NIXL agent config is not available
WARNING 04-22 08:08:46 [nixl_utils.py:34] NIXL is not available
WARNING 04-22 08:08:46 [nixl_utils.py:44] NIXL agent config is not available

I am running this:

docker run -it --rm \
      --init \
      --network host \
      --ipc host \
      --privileged \
      --cap-add SYS_PTRACE \
      --security-opt seccomp=unconfined \
      --ulimit memlock=-1 \
      --ulimit stack=67108864 \
      --shm-size 256G \
      --group-add video \
      --group-add render \
      --device /dev/kfd \
      --device /dev/dri \
      --device /dev/infiniband \
      -v /sys:/sys \
      -v "${HOME}/.cache/huggingface:/root/.cache/huggingface" \
      -e HF_HOME=/root/.cache/huggingface \
      -e HF_HUB_ENABLE_HF_TRANSFER=0 \
      -e VLLM_MORIIO_CONNECTOR_READ_MODE=1 \
      -e NCCL_MIN_NCHANNELS=112 \
      -e VLLM_USE_V1=1 \
      -e VLLM_ENGINE_READY_TIMEOUT_S=3600 \
      -e VLLM_SERVER_DEV_MODE=1 \
      -e VLLM_ROCM_USE_AITER=1 \
      -e VLLM_ROCM_USE_AITER_PAGED_ATTN=0 \
      -e VLLM_ROCM_USE_AITER_RMSNORM=1 \
      -e VLLM_USE_AITER_TRITON_SILU_MUL=0 \
      ${VLLM_IMAGE} \
      deepseek-ai/DeepSeek-R1-0528 \
          --load-format dummy \
          --tensor-parallel-size 8 \
          --kv-cache-dtype fp8 \
          --gpu-memory-utilization 0.7 \
          --max-num-batched-tokens 32768 \
          --max-model-len 16384 \
          --trust-remote-code \
          --no-enable-prefix-caching \
          --block-size 1 \
          --enforce-eager \
          --kv-transfer-config '{
            "kv_connector": "MoRIIOConnector",
            "kv_role": "kv_producer",
            "kv_connector_extra_config": {
              "proxy_ip": "127.0.0.1",
              "proxy_ping_port": "36367",
              "http_port": "8100",
              "handshake_port": "6301",
              "notify_port": "61005"
            }
          }'

Before submitting a new issue...

  • Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

extent analysis

TL;DR

Disable NIXL-related logging by modifying the logging configuration to ignore warnings from nixl_utils.py or by adding a conditional check to only log NIXL availability when it is actually being used.

Guidance

  • Review the logging configuration to determine if there is an option to suppress warnings from nixl_utils.py.
  • Consider adding a conditional check in nixl_utils.py to only log NIXL availability when the NIXL connector is being used.
  • Investigate if there is a configuration option or environment variable that can be set to disable NIXL logging.
  • Check if the logging level can be adjusted to ignore warnings, but be cautious of potentially hiding other important issues.

Example

No code example is provided as the issue does not contain sufficient information about the logging configuration or the nixl_utils.py file.

Notes

The provided solution is based on the assumption that the logging configuration can be modified or that a conditional check can be added to nixl_utils.py. However, without more information about the logging configuration or the nixl_utils.py file, it is difficult to provide a more specific solution.

Recommendation

Apply a workaround by modifying the logging configuration or adding a conditional check to nixl_utils.py to suppress NIXL-related logging, as there is no clear indication that an upgrade to a fixed version is available.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

vllm - ✅(Solved) Fix [Bug][ROCm]: NIXL not available logs when using MoRI connector [1 pull requests, 4 comments, 3 participants]