ComputeDomains
A ComputeDomain is a custom resource that sets up a group of nodes to run a multi-node workload using NVLink fabric. It is used to enable GPU memory sharing across nodes in hardware that supports Multi-Node NVLink (MNNVL), such as GB200 NVL72 or H100 NVLink configurations.
IMEX lifecycle modes
The resources.computeDomains.imex.mode Helm value determines who manages the nvidia-imex daemon lifecycle.
| Mode | Lifecycle |
|---|---|
driverManaged | By default, the DRA Driver creates one nvidia-imex DaemonSet for each ComputeDomain and tracks daemon readiness through ComputeDomainClique resources. |
hostManaged | You run nvidia-imex as a host service with a ready command socket, and the DRA Driver does not create daemon DaemonSets or daemon claims; this mode requires the HostManagedIMEXDaemon feature gate. |
How driver-managed mode works
Creating a ComputeDomain in the default driverManaged mode triggers the following sequence:
- The
compute-domain-controllerwatches for newComputeDomainresources and creates a per-domain DaemonSet. - Each daemon pod in that DaemonSet runs
nvidia-imex, which manages the NVLink fabric connection on its node. - Each daemon publishes its IP address, clique membership, and readiness via a
ComputeDomainCliqueCR in the driver namespace. - The
compute-domain-controlleralso creates aResourceClaimTemplateper channel, making IMEX channels available for workload pods to claim. - When a workload pod claims a channel, the
compute-domain-kubelet-plugininjects one or more selected IMEX channel devices (/dev/nvidia-caps-imex-channels/channelN) into the container.
For the full sequence diagram, see Architecture › Driver-managed ComputeDomain flow.
How host-managed mode works
Creating a ComputeDomain in hostManaged mode uses an existing host nvidia-imex service:
- You run
nvidia-imexon each participating GPU node and expose its command socket. - The
compute-domain-controllercreates the workloadResourceClaimTemplate. - When a workload pod claims a channel, the
compute-domain-kubelet-pluginqueries the host daemon through the daemon’s command socket and requires aREADYresponse. If the daemon is unavailable or not ready, claim preparation fails and is retried. - After the readiness check succeeds, the plugin injects channel 0 (
/dev/nvidia-caps-imex-channels/channel0) into the workload container. - Deleting the
ComputeDomainremoves the workload claim template, but it does not stop or reconfigure the host service.
Host-managed mode currently supports domain isolation only. All ComputeDomains
that use the same host IMEX domain share channel 0. Because this mode has no
per-ComputeDomain daemon pods, the controller disables its
IMEXDaemonsWithDNSNames and ComputeDomainCliques behaviors and does not create
ComputeDomainClique objects. A Ready ComputeDomain therefore does not report
the health of the host service.
For service and socket configuration, see Host-managed IMEX.
Prerequisites
See Prerequisites for hardware and software requirements, including the ComputeDomain-specific requirements for Multi-Node NVLink hardware, nvidia.com/gpu.clique label ownership, and nvidia-imex service configuration.
Get started
To create a ComputeDomain and run a workload that claims an IMEX channel, see the ComputeDomain workloads guide.