Skip to main content

Prerequisites

LLMServingSim runs on Linux with Docker. The simulator side runs on CPU, but the profiler and the vLLM benchmark need an NVIDIA GPU.

System​

Required for SimulatorRequired for Profiler / Bench
OSLinux (Ubuntu 22.04+ tested)Linux (Ubuntu 22.04+ tested)
Docker✓✓ (or bare-metal install)
NVIDIA GPU✓
NVIDIA Container Toolkit✓ (for GPU passthrough into Docker)
CUDA driver12.x for the default vllm/vllm-openai:v0.19.0 image; 13.x needs the v0.19.0-cu130 tag instead
Disk~3 GB~10 GB additional (vLLM image + HF model cache)
RAM16 GB32 GB+ recommended

If you only plan to run pre-profiled simulations (e.g., the bundled RTXPRO6000 profiles), you do not need a GPU.

Install Docker​

If you don't already have Docker:

# Ubuntu, official quick-install script
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker

Verify:

docker run --rm hello-world

Install NVIDIA Container Toolkit​

Required only for GPU containers (profiler / bench). On Ubuntu:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Verify:

docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi

You should see your GPU listed. If not, see Troubleshooting → GPU not detected.

Hugging Face token (optional)​

Some model configs (e.g., Llama 3.x, gated Qwen variants) live behind HF authentication. The profiler can auto-fetch these if you set:

export HF_TOKEN="hf_xxxxxxxxxxxxxxxxxxxxxxxxxx"

Running pre-profiled simulations never needs a token. You do need one for anything that touches the Hub:

  • Profiling a gated model, where the profiler auto-fetches its config.json on first run.
  • bench run, which loads real weights — a much larger download than a config file.
  • workloads.generators, which pulls the source dataset (and, with --use-vllm, the model too).

scripts/docker-vllm.sh forwards HF_TOKEN from your shell into the container and mounts ~/.cache/huggingface, so a download is shared with the host and happens once.

Get a token from huggingface.co/settings/tokens.

Next​

You're ready to install. Continue with Simulator setup

  • this is the main install path that everyone needs.