cd /news/ai-infrastructure/rtx6000-pd-md · home › topics › ai-infrastructure › article
[ARTICLE · art-167287] src=gist.github.com ↗ pub= topic=ai-infrastructure verified=true sentiment=↑ positive

rtx6000_pd.md

A developer published a guide for running disaggregated prefill-decode (P/D) inference across two nodes of NVIDIA RTX PRO 6000 (Blackwell SM120) GPUs using vLLM's NixlConnector to transfer KV cache over RDMA. The setup separates compute-heavy prefill from memory-bandwidth-heavy decode, which the guide says improves Time To First Token and cluster goodput, and requires a CUDA 13.x-compatible vLLM image plus a P/D-aware router such as NVIDIA Dynamo or llm-d for production.

by read2 min views2 publishedNov 10, 2026

This guide details how to set up a Disaggregated Prefill-Decode (P/D) architecture across two nodes equipped with NVIDIA RTX PRO 6000 (Blackwell SM120) GPUs.

By separating the compute-heavy prefill phase from the memory-bandwidth-heavy decode phase, you prevent cross-interference and significantly improve both Time To First Token (TTFT) and overall cluster goodput.

  • GPUs: 2x Nodes, each with RTX PRO 6000 GPUs (96GB GDDR7).
  • Networking: High-bandwidth RDMA networking (e.g., Mellanox ConnectX-6/7) is highly recommended. A 70B model with a 10k-token prompt generates ~3GB of KV cache; transferring this over standard TCP will bottleneck your TTFT.
  • Host Driver: CUDA 13.4+ compatible NVIDIA driver.

Because the RTX PRO 6000 utilizes the Blackwell SM120 architecture, you must use a CUDA 13.x compatible vLLM image. The local-inference-lab Karmic Kraken beta or the official vLLM nightly are recommended.

IMAGE="ghcr.io/local-inference-lab/vllm:karmic-kraken-beta"

For both nodes, ensure your Docker commands include the necessary flags for RDMA and memory locking:

  • --cap-add=IPC_LOCK
  • --device /dev/infiniband (if using Mellanox RDMA)
  • --shm-size=16g

The Decode worker receives the computed KV cache blocks from the Prefill node and handles the autoregressive token generation. We start this node first so it is ready to accept connections.

Run on the Decode Node:

export PREFILL_IP="10.0.0.1" 

docker run --gpus all --cap-add=IPC_LOCK --shm-size=16g -p 8201:8201 \
  -e VLLM_KV_TRANSFER_CONFIG='{"kv_connector":"NixlConnector","kv_role":"kv_consumer","kv_buffer_device":"cuda","kv_connector_extra_config":{"prefill_addr":"'$PREFILL_IP':8200"}}' \
  $IMAGE python -m vllm.entrypoints.openai.api_server \
  --model meta-llama/Llama-3.1-70B-Instruct \
  --port 8201

The Prefill worker processes the user's entire prompt, calculates the KV cache, and pushes it over the network via the NixlConnector to the Decode worker.

Run on the Prefill Node:

export DECODE_IP="10.0.0.2"

docker run --gpus all --cap-add=IPC_LOCK --shm-size=16g -p 8200:8200 \
  -e VLLM_KV_TRANSFER_CONFIG='{"kv_connector":"NixlConnector","kv_role":"kv_producer","kv_buffer_device":"cuda","kv_connector_extra_config":{"decode_addr":"'$DECODE_IP':8201"}}' \
  $IMAGE python -m vllm.entrypoints.openai.api_server \
  --model meta-llama/Llama-3.1-70B-Instruct \
  --port 8200

Standard HTTP load balancers cannot handle P/D routing because the router must extract the KV cache network pointer from the prefill worker and pass it to the decode worker.

For testing, you can use the toy proxy included in the vLLM repository. Run this on whichever machine will serve as your ingress gateway.

git clone https://github.com/vllm-project/vllm.git
cd vllm

python tests/disagg_prefill/toy_proxy_server.py \
  --prefill http://10.0.0.1:8200 \
  --decode http://10.0.0.2:8201 \
  --port 8000

Note: For production, replace toy_proxy_server.py with a robust P/D routing solution like NVIDIA Dynamo or llm-d.

You can now send standard OpenAI-compatible requests to the proxy on port 8000. The proxy will seamlessly split the workload, leveraging the massive VRAM and compute of your RTX PRO 6000s.

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "meta-llama/Llama-3.1-70B-Instruct",
    "messages": [
      {"role": "system", "content": "You are a helpful AI assistant."},
      {"role": "user", "content": "Explain the architectural advantages of the Blackwell SM120 GPU."}
    ],
    "max_tokens": 1024
  }'
── more in #ai-infrastructure 4 stories · sorted by recency
── more on @nvidia 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/rtx6000-pd-md] indexed:0 read:2min 2026-11-10 · —