Skip to content

Conversation

@pi314ever
Copy link
Contributor

This adds support for ucx plugin bundling into install_nixl.py, which is needed for gaudi_gdr and other ucx plugins in nixl.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds UCX plugin bundling support to the NIXL installation script, enabling the inclusion of gaudi_gdr and other UCX plugins in the NIXL wheel package. The changes focus on extending the build process to bundle UCX plugins and making the UCX commit configurable.

Key Changes:

  • Added a new step (4/4) to bundle UCX plugins into the repaired wheel using a helper script
  • Made UCX commit configurable via command-line argument with a default commit hash
  • Updated UCX build configuration to enable Gaudi support and examples

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

install_nixl.py Outdated
Comment on lines 214 to 222
# Patch the helper script to skip NIXL plugins (since we only want UCX)
# This prevents it from failing when it can't find system NIXL plugins
sed_expr = 's/add_plugins(wheel_path, args.nixl_plugins_dir, "nixl")/# &/'
run_command(["sed", "-i", sed_expr, helper_script])

print(f"--> Adding plugins from {ucx_plugins_src}", flush=True)
bundle_cmd = [
sys.executable,
helper_script,
Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sed command modifies a Python helper script by commenting out a line. This is fragile and could break if the helper script's code changes. Consider adding a command-line flag to the helper script to skip NIXL plugins instead of modifying the script with sed, or check if the helper script already supports such a flag.

Suggested change
# Patch the helper script to skip NIXL plugins (since we only want UCX)
# This prevents it from failing when it can't find system NIXL plugins
sed_expr = 's/add_plugins(wheel_path, args.nixl_plugins_dir, "nixl")/# &/'
run_command(["sed", "-i", sed_expr, helper_script])
print(f"--> Adding plugins from {ucx_plugins_src}", flush=True)
bundle_cmd = [
sys.executable,
helper_script,
# Patch the helper script to skip NIXL plugins (since we only want UCX).
# This prevents it from failing when it can't find system NIXL plugins.
helper_to_use = helper_script
try:
with open(helper_script, "r", encoding="utf-8") as f:
helper_source = f.read()
target_call = 'add_plugins(wheel_path, args.nixl_plugins_dir, "nixl")'
if target_call in helper_source:
patched_source = helper_source.replace(
target_call,
f"# {target_call} # disabled by install_nixl.py: NIXL plugins not bundled",
)
patched_helper = os.path.join(
temp_wheel_dir, "wheel_add_ucx_plugins_patched.py"
)
with open(patched_helper, "w", encoding="utf-8") as f:
f.write(patched_source)
helper_to_use = patched_helper
else:
print(
"--> Warning: Could not find NIXL plugins call in helper script; "
"running helper script unmodified.",
flush=True,
)
except OSError as e:
print(
f"--> Warning: Failed to prepare patched helper script ({e}); "
"running helper script unmodified.",
flush=True,
)
print(f"--> Adding plugins from {ucx_plugins_src}", flush=True)
bundle_cmd = [
sys.executable,
helper_to_use,

Copilot uses AI. Check for mistakes.
UCX_INSTALL_DIR = os.path.join("/tmp", "ucx_install")
UCX_REPO_URL = "https://github.com/openucx/ucx.git"
NIXL_REPO_URL = "https://github.com/ai-dynamo/nixl.git"

Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The UCX commit hash lacks context explaining why this specific commit was chosen. Consider adding a comment explaining the significance of this commit (e.g., 'UCX commit with Gaudi GDR support' or a reference to the UCX version/tag it corresponds to).

Suggested change
# Known-good UCX commit tested with the current NIXL version; update only after validation.

Copilot uses AI. Check for mistakes.
@github-actions
Copy link

github-actions bot commented Jan 8, 2026

🚧 CI Blocked

The main CI workflow was not started for the following reason:

Your branch is behind the base branch. Please merge or rebase to get the latest changes.

2 similar comments
@github-actions
Copy link

github-actions bot commented Jan 8, 2026

🚧 CI Blocked

The main CI workflow was not started for the following reason:

Your branch is behind the base branch. Please merge or rebase to get the latest changes.

@github-actions
Copy link

github-actions bot commented Jan 8, 2026

🚧 CI Blocked

The main CI workflow was not started for the following reason:

Your branch is behind the base branch. Please merge or rebase to get the latest changes.

Signed-off-by: Daniel Huang <[email protected]>
@github-actions
Copy link

github-actions bot commented Jan 8, 2026

✅ CI Passed

All checks passed successfully against the following vllm commit:
aa125ecf0edb9cd67656553d11d643aeb444ff9e

@pi314ever
Copy link
Contributor Author

Combined with #711 for complete integration with CI

@pi314ever pi314ever closed this Jan 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant