Multi-GPU
RunPod runbook · model rank #12

Stand up DeepSeek-V3.2
on RunPod.

Fits one high-memory node, but needs tensor/expert parallel configuration. The shortest UI path from a Hugging Face ID to an OpenAI-compatible endpoint.

Multi-GPU: Fits one high-memory node, but needs tensor/expert parallel configuration.

RunPod setup, in the order that matters

Serverless vLLM for smaller models; dedicated Pods for multi-GPU models. Use the provider console for infrastructure and the pinned runtime block for the model server.

  1. 01

    Choose the RunPod path

    Open the vLLM Serverless template for a single-GPU vLLM model. For multi-GPU or SGLang, create a dedicated GPU Pod from the matching container image.

  2. 02

    Set the model and hardware

    Use model ID deepseek-ai/DeepSeek-V3.2, target 8x H100/A100 80GB-class GPUs, allocate at least 950GB of storage, and start with a 32,768-token limit.

  3. 03

    Add secrets and create

    Add HF_TOKEN as a secret when the model is gated or to avoid anonymous download limits. Do not put the token in Docker arguments or a public template.

  4. 04

    Test before autoscaling

    Wait for weights to finish downloading, run the health request below, then set idle timeout and worker limits only after measuring cold-start time.

Runtime seedvLLM · latest
docker run --rm --gpus all --ipc=host \
  -p 8000:8000 \
  -e HUGGING_FACE_HUB_TOKEN="$HF_TOKEN" \
  -v "$PWD/.hf-cache:/root/.cache/huggingface" \
  vllm/vllm-openai:latest \
  --model deepseek-ai/DeepSeek-V3.2 \
  --tensor-parallel-size 8 \
  --max-model-len 32768 \
  --trust-remote-code \
  --served-model-name deepseek-v3.2

This is a reproducible starting block. Cluster paths still need the model author's distributed recipe and the provider's orchestration layer.

Smoke testOpenAI-compatible request
curl http://127.0.0.1:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v3.2",
    "messages": [{"role": "user", "content": "Reply with: deployment healthy"}],
    "max_tokens": 32
  }'

Run this only after logs show the model loaded. A successful HTTP response is not a latency or quality benchmark.

Quota, license, and storage

  • Confirm 8x H100/A100 80GB-class GPUs is actually available in the selected region.
  • Read the MIT terms and accept any gated-model conditions.
  • Budget at least 950GB for weights, cache, and container layers.
  • Keep HF_TOKEN in the provider secret store—not in scripts or templates.

Memory, format, and shutdown

  • Record idle/free VRAM after the model loads and after a representative prompt.
  • Validate the official chat template, reasoning parser, and tool-call parser.
  • Add authentication and TLS in front of port 8000.
  • Verify the provider's stop/delete action actually ends compute billing.

Hand this runbook to Claude Code or Codex

Open a terminal in the repository where you want the deployment files, start claude or codex, then paste this prompt. It asks the agent to verify sources and stop before it creates billable infrastructure.

Deployment prompt
Deploy DeepSeek-V3.2 (deepseek-ai/DeepSeek-V3.2) on RunPod. Use this guide as the starting context: https://www.getflops.ai/models/deepseek-v3.2/runpod. Use a planning floor of 8x 96GB GPUs, 950GB storage, vllm latest, and an initial context limit of 32768 tokens. Open every linked primary source and flag any mismatch instead of guessing. Create a deployment folder containing README.md, .env.example with no secrets, a pinned start script or infrastructure manifest, and smoke-test.sh. Make the endpoint OpenAI-compatible where the runtime supports it. Run local/static validation, estimate the billable resources, and stop before provisioning paid infrastructure until I approve.
Guardrails included No secrets in files · verify primary docs · approval before spend

The two sources to check first

Checked 2026-07-27. This page separates sourced facts from the planning baseline; verify current runtime support and capacity before spending.

Compare DeepSeek-V3.2 elsewhere