1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
"""Core type definitions for ModelExpress P2P metadata service."""
from dataclasses import dataclass
@dataclass
class TensorDescriptor:
"""Descriptor for a tensor in GPU memory."""
name: str
addr: int
size: int
device_id: int
dtype: str
@dataclass
class WorkerMetadata:
"""Metadata for a single GPU worker."""
worker_rank: int
tensors: list[TensorDescriptor]
nixl_metadata: bytes = b""
transfer_engine_session_id: str = ""
# P2P metadata exchange fields (disable via MX_P2P_METADATA=0)
metadata_endpoint: str = ""
agent_name: str = ""
worker_grpc_endpoint: str = ""
accelerator: str = ""
@dataclass
class GetMetadataResponse:
"""Response from GetMetadata RPC."""
found: bool
workers: list[WorkerMetadata]
class ManifestMismatchError(Exception):
"""Source and target tensor manifests are incompatible.
Raised during RDMA transfer when tensor names or sizes don't match.
The caller should try the next source candidate rather than marking
the source as stale (the mismatch may be due to a rolling update,
not a source-side failure).
"""