---
title: "NVIDIA PAIR Review: AMD ROCm and Strix Halo"
canonical: https://wavect.io/blog/nvidia-pair-amd-rocm-strix-halo/
language: en
description: "See how NVIDIA PAIR routes local AI jobs, where AMD ROCm 10 and Strix Halo support falls short, and what to test before a business deployment."
image: "https://wavect.io/img/blog/headers/header_nvidia-pair-amd-rocm-strix-halo.png"
---

[**Back**](/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/team/kevin-riedl/)

[Kevin Riedl](/team/kevin-riedl/) https://linkedin.com/in/wsdt

11 min read · 4 Sep 2026 Last reviewed September 4, 2026

[**Next**](/blog/claude-rotate-multi-account-proxy/)

# NVIDIA PAIR Review: Local AI Routing and the AMD ROCm Gap

TL;DR

NVIDIA Personal AI Router, or PAIR, is an Apache-2.0 local inference router for independent Ollama and LM Studio requests. It gives agents one familiar endpoint, filters nodes by engine and model availability, then orders eligible machines using queued work and coarse GPU pressure. It does not pool VRAM, split a model or accelerate one request across several GPUs. NVIDIA reports a five-subagent demo falling from 18 minutes on one RTX Spark laptop to 8 minutes 48 seconds on a three-device cluster, but calls the result configuration-specific. AMD Strix Halo is not a validated configuration. On Linux, PAIR can list an AMD GPU yet currently lacks its memory and utilization telemetry, so a credible ROCm 10 contribution needs AMD SMI integration, correct unified-memory semantics, stable device identity, fallback behavior and tests. Treat that contribution as experimental until it is reviewed upstream and validated with real agent workloads.

**NVIDIA Personal AI Router, or PAIR, is a local control plane for independent AI inference requests.** It discovers computers on your network, checks which engine and model each one can serve, watches workload and GPU pressure, then forwards every new request to one eligible node. Your agent keeps talking to a familiar Ollama or OpenAI-compatible endpoint.

Think Kubernetes for the pile of AI computers hiding around your house, with an important correction. PAIR is not a container orchestrator, does not pool VRAM and does not turn several GPUs into one giant GPU. It places complete inference jobs on complete model replicas. That makes it useful for five subagents that would otherwise fight over one GPU like pigeons over a French fry. It does not make one oversized model fit across five machines.

The architecture is unusually legible for a new beta. The interesting gap is equally clear: NVIDIA validates RTX, DGX Spark and Apple M4+ systems, while AMD Strix Halo is absent. I pointed a coding agent at the repository with a concrete brief: add ROCm 10 and Strix Halo support. At publication time, that is an engineering workstream, not upstream support. This review explains what PAIR already does, what the source reveals about AMD, and what a credible port must prove before anyone buys hardware around it.

| Question | Current answer | Business meaning |
| --- | --- | --- |
| What is PAIR? | An Apache-2.0 local inference router | Inspect, modify and self-host the routing layer without changing your agent harness. |
| Which engines? | Ollama and LM Studio | Engine and model compatibility still belong to each node. |
| What gets distributed? | Independent, complete requests | More parallel jobs can use more machines. One job does not become faster by itself. |
| What decides placement? | Node readiness, running engine, requested model, pending jobs and coarse GPU pressure | Good for elastic local capacity, not a full cost or latency optimizer. |
| Which hardware is validated? | RTX 20 Series and newer, RTX PRO, DGX Spark and Apple M4+ | AMD nodes require separate validation even if PAIR and an engine start. |
| How are peer requests protected? | Paired certificates and mutual TLS | Inference stays on the local network, but the network still belongs in the threat model. |

## What is NVIDIA PAIR?

The [open-source NVIDIA PAIR repository](https://github.com/NVIDIA/Personal-AI-Router) describes software for a group of compatible Windows, Linux and macOS computers on the same network. PAIR discovers nodes, manages supported engines and presents Ollama-compatible plus OpenAI-compatible proxy endpoints. The repository uses Apache 2.0, and the released desktop package supervises a set of small Go services behind an Electron interface.

A request follows a simple path:

1. The application calls the local PAIR proxy, usually through the port it already expects.
2. The proxy parses the engine and requested model.
3. Nodes without the running engine or exact model are removed from consideration.
4. The remaining nodes are ordered using scheduler state.
5. One node runs the whole request, and the response streams back along the same path.

The [official PAIR architecture documentation](https://docs.nvidia.com/local-ai/nvpair/architecture/) separates model eligibility from load ranking. The scheduler is model-blind. It ranks nodes by pending work plus a coarse pressure score derived from smoothed utilization. The proxy then applies that order only to nodes that advertise the requested model. This is a clean separation between capability and current pressure.

## Does PAIR combine GPUs or split one model?

**No. Every inference request runs on one node from start to finish.** PAIR can increase throughput when a workload contains independent calls. It cannot pool GPU memory, shard model layers, split a live request or migrate a request after dispatch.

| Architecture | Unit of placement | Main benefit | Use this Wavect guide |
| --- | --- | --- | --- |
| NVIDIA PAIR | One complete request | Use replicas across elastic local nodes | This review |
| Mesh LLM | Layer stages of one model | Fit one model across combined machine memory | [Mesh LLM distributed inference review](/blog/mesh-llm-distributed-inference-multiple-computers/) |
| OmniRoute | A request to a configured model provider | Choose among local and remote provider endpoints | [OmniRoute production setup](/blog/omniroute-ai-routing-setup/) |
| LLM gateway | A request through a policy layer | Centralize credentials, fallback, budgets and telemetry | [LLM gateway comparison](/blog/llm-gateway-router-comparison-2026/) |

This distinction prevents keyword confusion and expensive architecture mistakes. Choose PAIR when replicas already fit on individual machines and queueing is the problem. Choose model parallelism when the model itself does not fit. Choose a gateway when provider policy, budgets or cloud fallback are the binding constraint.

## How much faster is NVIDIA PAIR for multiple agents?

NVIDIA's [PAIR launch demonstration](https://developer.nvidia.com/blog/nvidia-pair-virtual-inference-router-expands-available-compute-on-your-local-network/) used Hermes Desktop, five subagents, Ollama and Qwen 3.6 35B A3B. NVIDIA reports an average of 18 minutes on one RTX Spark laptop and 8 minutes 48 seconds on a three-device cluster containing that laptop, a DGX Spark and an RTX 5090.

That is a 51 percent reduction in elapsed time for that demonstration, not a universal two-times claim. NVIDIA explicitly calls it unofficial and configuration-specific. Parallelism, model copies, engine settings, network, prompt shape and node availability all affect the result. The correct commercial metric is cost per accepted task at a target latency, not the number of GPUs PAIR can display.

PAIR's scheduler also has deliberate limits. It does not score GPU model, available VRAM, measured request latency, warm model state or predicted request size. Every pending workload counts as one. On a mixed cluster, a small and large GPU at the same utilization receive the same pressure score. This is sensible beta behavior, but it means a business pilot needs its own routing and tail-latency evidence.

## Why is AMD Strix Halo not a validated PAIR node?

The answer is more nuanced than “PAIR blocks AMD.” PAIR itself can run on supported x64 operating systems, and Ollama now lists Ryzen AI Max systems in its Linux GPU table. The current gap is the complete, validated path from hardware detection through telemetry, engine behavior and support policy.

NVIDIA's [PAIR known-issues page](https://docs.nvidia.com/local-ai/nvpair/known-issues/) states that Linux machines without an NVIDIA driver can list AMD or Intel graphics by name but report no GPU memory or utilization. On Windows, integrated and unified-memory GPUs can show an understated memory figure because PAIR counts dedicated GPU memory. NVIDIA says memory display does not directly choose routes, but missing utilization does affect how well the scheduler understands current pressure.

The source makes the Linux boundary concrete. The [Linux GPU detector calls `nvidia-smi` first](https://github.com/NVIDIA/Personal-AI-Router/blob/main/services/nvpair-node-info/gpu_linux.go). When that is unavailable, it falls back to generic PCI discovery, which returns an adapter name but no VRAM total, stable telemetry join key or dynamic utilization. Windows already uses vendor-neutral DXGI and Performance Data Helper counters, so the largest missing hardware-specific path is Linux telemetry and unified-memory interpretation.

## What does a real ROCm 10 and Strix Halo port require?

Changing a hardware allowlist would not be enough. A contribution should preserve PAIR's existing behavior when AMD tooling is absent, avoid turning telemetry failures into routing failures, and model Strix Halo memory honestly.

1. **Detect AMD devices with stable identities.** The [AMD SMI CLI supports JSON output, UUIDs, BDF addresses, GFX utilization and memory metrics](https://rocm.docs.amd.com/projects/amdsmi/en/latest/how-to/amdsmi-cli-tool.html). A collector can join static and dynamic samples without scraping a human table.
2. **Keep collection bounded.** Match the existing timeout, one-second background sampling, freshness and last-good-value patterns. A wedged driver must not block the node-info service.
3. **Handle unified memory as unified memory.** Strix Halo's gfx1151 GPU shares a large LPDDR5X pool. Dedicated VRAM alone understates capacity, while total system memory can overstate what an engine may safely allocate. The UI should label the source and avoid pretending one number is universally available memory.
4. **Separate telemetry from engine support.** PAIR seeing an AMD GPU does not prove Ollama or LM Studio will run the chosen model correctly. Version, driver, backend, context length and model architecture remain separate gates.
5. **Test mixed clusters.** Cover NVIDIA plus AMD, stale AMD SMI output, missing tools, zero-utilization samples, multiple adapters, suspend and restart, and a model present on only one node.

The [ROCm 10.0.0 release notes](https://rocm.docs.amd.com/en/develop/about/release-notes.html) add broader inference, tooling and profiling work, including improved profiler support for gfx1151. That is useful infrastructure, but a new ROCm major version is not a PAIR compatibility certificate. PAIR, AMD SMI, the driver, the engine and the model all need to agree.

The engine layer deserves particular caution. The [Ollama GPU support page](https://docs.ollama.com/gpu) lists Ryzen AI Max+ 395, Max 390 and Max 385 for Linux and documents both ROCm and Vulkan paths. It also describes ROCm v7 requirements in its current support contract, not ROCm 10. A ROCm 10 PAIR experiment therefore needs an explicit engine matrix instead of assuming that a telemetry port upgrades the inference backend.

## Is PAIR secure enough for private company data?

PAIR keeps inference traffic on the local network when the application, engine, model source and nodes are local. Paired nodes use pinned certificates and mutual TLS for routed inference. Plaintext requests are accepted only from loopback, and unpaired machines cannot call the cluster ingress as members.

Local does not mean invisible. PAIR's architecture states that node telemetry is plaintext and unauthenticated, so a machine on the same subnet can read hostname, hardware inventory and utilization. Pairing begins with a short PIN over plaintext before certificates are pinned. Use a trusted, segmented network, review firewall exposure, protect the machines themselves and keep sensitive request bodies out of logs. For regulated or customer data, add threat modeling, retention rules, patch ownership and an incident path before production.

## When should a company use NVIDIA PAIR?

| Situation | Verdict | Why |
| --- | --- | --- |
| Several independent agent calls queue on one local GPU | **Strong pilot** | This is the workload PAIR is designed to spread. |
| Two or more trusted machines already host the same model | **Good fit** | Model replication gives the scheduler real placement choice. |
| One model is too large for every individual machine | **Wrong tool** | PAIR does not pool memory or split the model. |
| Mixed NVIDIA, Apple and AMD home lab | **Experimental** | Validate telemetry, engine support and performance per node. |
| Customer-facing API with strict availability targets | **Prove it first** | PAIR beta has no SLA and uses an eventually consistent local view. |
| Untrusted office, guest or shared Wi-Fi | **Do not deploy as-is** | Node telemetry is readable on the subnet. |

## A seven-step PAIR pilot before buying another GPU

1. **Define the accepted task.** Record quality, tool-call correctness, context length and timeout, not only tokens per second.
2. **Measure one-node behavior.** Capture queue time, time to first token, completion time, power and failure rate.
3. **Replicate one model.** Put the exact same model on two nodes so routing has a genuine choice.
4. **Add realistic concurrency.** Replay the number and mix of subagents your workflow actually creates.
5. **Observe placement.** Confirm the Jobs view, GPU telemetry and engine logs agree about where each request ran.
6. **Break the cluster deliberately.** Suspend a laptop, stop an engine, remove a model and saturate a GPU with another application.
7. **Compare the full alternatives.** Use the [local model versus API break-even framework](/blog/local-models-vs-apis-break-even-eu-2026/) before treating spare hardware as free.

If your pilot includes proprietary code or documents, connect the routing decision to evaluation, access control and rollback. Our [Twinsoft AI case study](/case-studies/twinsoft-ai/) shows how an AI workflow becomes a production system, while the [technology-stack decision guide](/software-development-guide/how-to-choose-a-tech-stack-for-mvp/) keeps a promising component from choosing the whole architecture.

## Sources and methodology

This review was checked on 4 September 2026 against NVIDIA's repository, architecture, launch demonstration and known-issues documentation, plus current AMD SMI, ROCm 10 and Ollama documentation linked above. We inspected the Linux and Windows telemetry implementations and the scheduler source. We did not reproduce NVIDIA's benchmark, and we do not claim that the proposed AMD work is merged, supported or complete. Product support can change quickly, so pin the PAIR release, driver, engine and model used in any pilot.

## Frequently asked questions

### What is NVIDIA PAIR?

NVIDIA Personal AI Router is an open-source local inference router. It gives Ollama and LM Studio clients one familiar endpoint and forwards each independent request to one eligible computer on a paired local cluster.

### Does NVIDIA PAIR combine several GPUs into one?

No. PAIR does not pool VRAM, split model layers or divide one inference request. Each request runs completely on one node. More nodes help only when the workload contains independent requests and suitable model replicas.

### How does PAIR choose a node?

The proxy first keeps nodes with the running engine and requested model. It then uses the scheduler order, which combines pending PAIR workloads with coarse GPU pressure. Stable node identity provides the final deterministic tie-break.

### Does NVIDIA PAIR support AMD Strix Halo?

AMD Strix Halo is not in NVIDIA's validated configurations. PAIR can list an AMD GPU on Linux, but current documentation says memory and utilization are missing without an NVIDIA driver. Engine compatibility must also be validated separately.

### Will ROCm 10 automatically make Strix Halo work with PAIR?

No. ROCm 10 improves the AMD software stack, but PAIR still needs AMD telemetry and unified-memory handling, while Ollama or LM Studio must support the exact driver, backend, model and workload.

### Is PAIR faster than one GPU?

It can finish a parallel multi-agent workload sooner by spreading independent requests. It does not accelerate one request. NVIDIA's five-subagent demo improved from 18 minutes to 8 minutes 48 seconds, but NVIDIA labels that result configuration-specific.

### Can PAIR keep prompts private?

PAIR is designed to keep local inference on the local network and uses mutual TLS between paired nodes. Operators still need a trusted network, endpoint security, safe logging and awareness that node telemetry is unauthenticated plaintext on the subnet.

## Final thoughts

PAIR solves a real and increasingly common problem: agent concurrency grows faster than the one local GPU everyone points at. Its design is refreshingly narrow. Keep the client interface, discover capable nodes, filter by model, rank by load and send each job to one machine.

The narrowness is also the boundary. PAIR is not shared VRAM, model parallelism or an enterprise scheduler. The AMD gap shows why open source matters: the architecture can be extended where the first validated hardware matrix stops. A worthwhile Strix Halo contribution must do more than recognize a Radeon name. It must report truthful unified-memory and utilization data, fail safely without AMD tooling and prove the full engine path under real agent load. That is how NVIDIA PAIR becomes slightly less NVIDIA without becoming less reliable.

## You may also like..

[**Need one model to span several computers?** PAIR routes whole requests. Mesh LLM takes the different path of splitting supported model layers across machines.](/blog/mesh-llm-distributed-inference-multiple-computers/) [**AI enablement vs generic AI consulting** Compare a measured infrastructure implementation with advice that stops before production evidence.](/compare/ai-enablement-vs-generic-ai-consultancy/)

Models and infrastructure

## Continue through this cluster

Model selection, inference economics, local deployment, compression and serving architecture.

[Start with the cornerstone**Self-Hosting LLMs in the EU: When Open Weights Actually Pay Off**](/blog/self-hosting-llms-eu-cost/)

- [Tencent Hy4 Preview Review: Is the 1M-Context Coding Model Worth a Pilot?](/blog/tencent-hy4-preview-coding-agent-review/)
- [PageLM Review: Self-Hosting and Commercial Use](/blog/pagelm-self-hosted-ai-study-platform/)
- [M6 Mac mini vs M5 Mac Studio for Local AI: Buyer's Guide](/blog/mac-mini-m6-vs-mac-studio-m5-local-ai/)
- [FreeToken AI Review: Run Frontier MoE Models on Consumer GPUs?](/blog/freetoken-ai-inference-engine-review/)
- [Darkbloom AI Review: Private Inference on Idle Macs](/blog/darkbloom-ai-private-inference-mac/)

[**Back**](/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/team/kevin-riedl/)

[Kevin Riedl](/team/kevin-riedl/) https://linkedin.com/in/wsdt

11 min read · 4 Sep 2026 Last reviewed September 4, 2026

[**Next**](/blog/claude-rotate-multi-account-proxy/)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/blog/nvidia-pair-amd-rocm-strix-halo/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-09-04",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-09-04",
      "url": "https://wavect.io/blog/nvidia-pair-amd-rocm-strix-halo/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "abstract": "NVIDIA Personal AI Router, or PAIR, is an Apache-2.0 local inference router for independent Ollama and LM Studio requests. It gives agents one familiar endpoint, filters nodes by engine and model availability, then orders eligible machines using queued work and coarse GPU pressure. It does not pool VRAM, split a model or accelerate one request across several GPUs. NVIDIA reports a five-subagent demo falling from 18 minutes on one RTX Spark laptop to 8 minutes 48 seconds on a three-device cluster, but calls the result configuration-specific. AMD Strix Halo is not a validated configuration. On Linux, PAIR can list an AMD GPU yet currently lacks its memory and utilization telemetry, so a credible ROCm 10 contribution needs AMD SMI integration, correct unified-memory semantics, stable device identity, fallback behavior and tests. Treat that contribution as experimental until it is reviewed upstream and validated with real agent workloads.",
  "articleBody": " Blog overview/AI and agents/Models and infrastructure NVIDIA PAIR Review: Local AI Routing and the AMD ROCm Gap TL;DR NVIDIA Personal AI Router, or PAIR, is an Apache-2.0 local inference router for independent Ollama and LM Studio requests. It gives agents one familiar endpoint, filters nodes by engine and model availability, then orders eligible machines using queued work and coarse GPU pressure. It does not pool VRAM, split a model or accelerate one request across several GPUs. NVIDIA reports a five-subagent demo falling from 18 minutes on one RTX Spark laptop to 8 minutes 48 seconds on a three-device cluster, but calls the result configuration-specific. AMD Strix Halo is not a validated configuration. On Linux, PAIR can list an AMD GPU yet currently lacks its memory and utilization telemetry, so a credible ROCm 10 contribution needs AMD SMI integration, correct unified-memory semantics, stable device identity, fallback behavior and tests. Treat that contribution as experimental until it is reviewed upstream and validated with real agent workloads. NVIDIA Personal AI Router, or PAIR, is a local control plane for independent AI inference requests. It discovers computers on your network, checks which engine and model each one can serve, watches workload and GPU pressure, then forwards every new request to one eligible node. Your agent keeps talking to a familiar Ollama or OpenAI-compatible endpoint. Think Kubernetes for the pile of AI computers hiding around your house, with an important correction. PAIR is not a container orchestrator, does not pool VRAM and does not turn several GPUs into one giant GPU. It places complete inference jobs on complete model replicas. That makes it useful for five subagents that would otherwise fight over one GPU like pigeons over a French fry. It does not make one oversized model fit across five machines. The architecture is unusually legible for a new beta. The interesting gap is equally clear: NVIDIA validates RTX, DGX Spark and Apple M4+ systems, while AMD Strix Halo is absent. I pointed a coding agent at the repository with a concrete brief: add ROCm 10 and Strix Halo support. At publication time, that is an engineering workstream, not upstream support. This review explains what PAIR already does, what the source reveals about AMD, and what a credible port must prove before anyone buys hardware around it. NVIDIA PAIR facts for a technical buying decision QuestionCurrent answerBusiness meaning What is PAIR?An Apache-2.0 local inference routerInspect, modify and self-host the routing layer without changing your agent harness. Which engines?Ollama and LM StudioEngine and model compatibility still belong to each node. What gets distributed?Independent, complete requestsMore parallel jobs can use more machines. One job does not become faster by itself. What decides placement?Node readiness, running engine, requested model, pending jobs and coarse GPU pressureGood for elastic local capacity, not a full cost or latency optimizer. Which hardware is validated?RTX 20 Series and newer, RTX PRO, DGX Spark and Apple M4+AMD nodes require separate validation even if PAIR and an engine start. How are peer requests protected?Paired certificates and mutual TLSInference stays on the local network, but the network still belongs in the threat model. What is NVIDIA PAIR? The open-source NVIDIA PAIR repository describes software for a group of compatible Windows, Linux and macOS computers on the same network. PAIR discovers nodes, manages supported engines and presents Ollama-compatible plus OpenAI-compatible proxy endpoints. The repository uses Apache 2.0, and the released desktop package supervises a set of small Go services behind an Electron interface. A request follows a simple path: The application calls the local PAIR proxy, usually through the port it already expects. The proxy parses the engine and requested model. Nodes without the running engine or exact model are removed from consideration. The remaining nodes are ordered using scheduler state. One node runs the whole request, and the response streams back along the same path. The official PAIR architecture documentation separates model eligibility from load ranking. The scheduler is model-blind. It ranks nodes by pending work plus a coarse pressure score derived from smoothed utilization. The proxy then applies that order only to nodes that advertise the requested model. This is a clean separation between capability and current pressure. Does PAIR combine GPUs or split one model? No. Every inference request runs on one node from start to finish. PAIR can increase throughput when a workload contains independent calls. It cannot pool GPU memory, shard model layers, split a live request or migrate a request after dispatch. ArchitectureUnit of placementMain benefitUse this Wavect guide NVIDIA PAIROne complete requestUse replicas across elastic local nodesThis review Mesh LLMLayer stages of one modelFit one model across combined",
  "articleSection": "Engineering",
  "author": {
    "@id": "https://wavect.io/team/kevin-riedl/#person",
    "@type": "Person",
    "name": "Kevin Riedl",
    "sameAs": [
      "https://www.wikidata.org/wiki/Q139796365",
      "https://www.linkedin.com/in/wsdt",
      "https://github.com/wsdt"
    ],
    "url": "https://wavect.io/team/kevin-riedl/"
  },
  "citation": [
    {
      "@type": "WebPage",
      "name": "open-source NVIDIA PAIR repository",
      "url": "https://github.com/NVIDIA/Personal-AI-Router"
    },
    {
      "@type": "WebPage",
      "name": "official PAIR architecture documentation",
      "url": "https://docs.nvidia.com/local-ai/nvpair/architecture/"
    },
    {
      "@type": "WebPage",
      "name": "PAIR launch demonstration",
      "url": "https://developer.nvidia.com/blog/nvidia-pair-virtual-inference-router-expands-available-compute-on-your-local-network/"
    },
    {
      "@type": "WebPage",
      "name": "PAIR known-issues page",
      "url": "https://docs.nvidia.com/local-ai/nvpair/known-issues/"
    },
    {
      "@type": "WebPage",
      "name": "Linux GPU detector calls nvidia-smi first",
      "url": "https://github.com/NVIDIA/Personal-AI-Router/blob/main/services/nvpair-node-info/gpu_linux.go"
    },
    {
      "@type": "WebPage",
      "name": "AMD SMI CLI supports JSON output, UUIDs, BDF addresses, GFX utilization and memory metrics",
      "url": "https://rocm.docs.amd.com/projects/amdsmi/en/latest/how-to/amdsmi-cli-tool.html"
    },
    {
      "@type": "WebPage",
      "name": "ROCm 10.0.0 release notes",
      "url": "https://rocm.docs.amd.com/en/develop/about/release-notes.html"
    },
    {
      "@type": "WebPage",
      "name": "Ollama GPU support page",
      "url": "https://docs.ollama.com/gpu"
    }
  ],
  "dateModified": "2026-09-04",
  "datePublished": "2026-09-04",
  "description": "NVIDIA Personal AI Router, or PAIR, is an Apache-2.0 local inference router for independent Ollama and LM Studio requests. It gives agents one familiar endpoint, filters nodes by engine and model availability, then orders eligible machines using queued work and coarse GPU pressure. It does not pool VRAM, split a model or accelerate one request across several GPUs. NVIDIA reports a five-subagent demo falling from 18 minutes on one RTX Spark laptop to 8 minutes 48 seconds on a three-device cluster, but calls the result configuration-specific. AMD Strix Halo is not a validated configuration. On Linux, PAIR can list an AMD GPU yet currently lacks its memory and utilization telemetry, so a credible ROCm 10 contribution needs AMD SMI integration, correct unified-memory semantics, stable device identity, fallback behavior and tests. Treat that contribution as experimental until it is reviewed upstream and validated with real agent workloads.",
  "headline": "NVIDIA PAIR Review: Local AI Routing and the AMD Gap",
  "image": "https://wavect.io/img/blog/headers/header_nvidia-pair-amd-rocm-strix-halo.svg",
  "inLanguage": "en",
  "keywords": "AI agents, Local AI, GPU infrastructure, Open source",
  "mainEntityOfPage": {
    "@id": "https://wavect.io/blog/nvidia-pair-amd-rocm-strix-halo/",
    "@type": "WebPage"
  },
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/blog/nvidia-pair-amd-rocm-strix-halo/",
  "wordCount": 2766
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/",
      "name": "Home",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/overview/",
      "name": "Blog overview",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/topics/ai-agents/",
      "name": "AI and agents",
      "position": 3
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/clusters/models-infrastructure/",
      "name": "Models and infrastructure",
      "position": 4
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/nvidia-pair-amd-rocm-strix-halo/",
      "name": "NVIDIA PAIR Review: AMD ROCm and Strix Halo",
      "position": 5
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "NVIDIA Personal AI Router is an open-source local inference router. It gives Ollama and LM Studio clients one familiar endpoint and forwards each independent request to one eligible computer on a paired local cluster."
      },
      "name": "What is NVIDIA PAIR?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. PAIR does not pool VRAM, split model layers or divide one inference request. Each request runs completely on one node. More nodes help only when the workload contains independent requests and suitable model replicas."
      },
      "name": "Does NVIDIA PAIR combine several GPUs into one?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The proxy first keeps nodes with the running engine and requested model. It then uses the scheduler order, which combines pending PAIR workloads with coarse GPU pressure. Stable node identity provides the final deterministic tie-break."
      },
      "name": "How does PAIR choose a node?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "AMD Strix Halo is not in NVIDIA's validated configurations. PAIR can list an AMD GPU on Linux, but current documentation says memory and utilization are missing without an NVIDIA driver. Engine compatibility must also be validated separately."
      },
      "name": "Does NVIDIA PAIR support AMD Strix Halo?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. ROCm 10 improves the AMD software stack, but PAIR still needs AMD telemetry and unified-memory handling, while Ollama or LM Studio must support the exact driver, backend, model and workload."
      },
      "name": "Will ROCm 10 automatically make Strix Halo work with PAIR?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "It can finish a parallel multi-agent workload sooner by spreading independent requests. It does not accelerate one request. NVIDIA's five-subagent demo improved from 18 minutes to 8 minutes 48 seconds, but NVIDIA labels that result configuration-specific."
      },
      "name": "Is PAIR faster than one GPU?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "PAIR is designed to keep local inference on the local network and uses mutual TLS between paired nodes. Operators still need a trusted network, endpoint security, safe logging and awareness that node telemetry is unauthenticated plaintext on the subnet."
      },
      "name": "Can PAIR keep prompts private?"
    }
  ]
}
```
