Skip to content

[Upstream Breaking Change] NIXL 0.9.0 → 0.10.0 - Device API V2 #58

@github-actions

Description

@github-actions

Summary

NIXL 0.10.0 has been released with breaking Device API V2 changes. The current pin is 0.9.0 in docker/Dockerfile.cuda line 46.

Breaking API Changes

Device API V2 Redesign (HIGH)

The Device API has been completely redesigned with new interfaces for host-side and device-side operations. This is a significant breaking change from the v1 Device API.

Changes include:

  • New API definition and interface updates (#1229)
  • New core host-side implementation (#1230)
  • New UCX backend implementation (#1245)
  • New GPU and UCX device-side implementation (#1255)
  • New memory view API that simplifies device initialization

Impact: Any code using the NIXL Device API v1 will break and require refactoring to Device API V2.

Files Affected

Per docs/upstream-versions.md, NIXL is pinned in:

  • docker/Dockerfile.cuda line 46: NIXL_VERSION=0.9.0

Additional Notable Changes

New Features

  • AWS Neuron device support (Trainium/Inferentia)
  • Azure Blob Storage plugin
  • S3 CRT client support with automatic multipart parallelism
  • Hierarchical object storage architecture (S3, CRT-S3, future RDMA S3)
  • Libfabric Slingshot/CXI provider support

Performance Improvements

  • Python GIL release in time-consuming functions
  • Libfabric CQ batch reads (16 entries) and improved threading model
  • UCX RC GDA multi-channel configuration

Recommended Actions

  1. Review API migration guide if available in NIXL 0.10.0 documentation
  2. Search for Device API usage in llm-d codebase:
    grep -r "nixl.*device" . --include="*.py" --include="*.cu" --include="*.cpp"
  3. Update Dockerfile to pin 0.10.0:
    ENV NIXL_VERSION=0.10.0
  4. Refactor Device API calls to use V2 interfaces if currently using V1
  5. Test thoroughly - API redesigns can surface unexpected edge cases

Impact

HIGH - Breaking API changes require code modifications. However, impact is limited to code that uses NIXL's Device API directly.

Upstream References


Generated by Upstream Dependency Monitor

Generated by Upstream Dependency Monitor

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions