gpustack is a free, open source machine learning infrastructure project written in Python and released under Apache-2.0. It has 5,707 GitHub stars, 649 forks and 696 open issues, and was last pushed 16 hours ago. On this registry it ranks #27 of 57 tracked projects in Machine Learning Infrastructure, with 5 head-to-head comparisons available. It gained 12 stars over the last 3 tracked days.

What is gpustack?

GPUStack is an open-source GPU cluster manager that configures and orchestrates inference engines such as vLLM, SGLang, and TensorRT-LLM and launches on-demand SSH-accessible GPU instances, built for development teams, IT organizations, and service providers that deliver AI model serving at scale.

What it is

GPUStack is a Python-based, Apache-2.0 licensed GPU cluster manager for AI model serving and GPU instance provisioning. It manages GPU clusters across multiple environments, including on-premises servers, Kubernetes clusters, and cloud providers, from a single GPUStack server. A scheduler allocates GPUs to maximize utilization and selects an appropriate inference engine for each deployment. The project lives in the AI and machine learning infrastructure ecosystem and sits above the inference engines themselves rather than replacing them.

The concrete problem it solves is the manual work of wiring a model to an engine and tuning that engine for each GPU shape. GPUStack automatically configures high-performance inference engines such as vLLM, SGLang, and TensorRT-LLM, and its pluggable engine architecture allows custom engines to be added. That architecture drives what the project calls Day 0 model support, meaning new models can be deployed on the day they are released. It also replaces ad hoc tuning with pre-tuned modes for low latency or high throughput.

Key capabilities

  • Multi-cluster GPU management across on-premises servers, Kubernetes clusters, and cloud providers from one server.
  • Pluggable inference engines, with automatic configuration of vLLM, SGLang, and TensorRT-LLM, plus support for custom engines.
  • Performance-optimized configurations with pre-tuned low-latency and high-throughput modes.
  • Extended KV cache systems including LMCache and HiCache to reduce TTFT, plus built-in speculative decoding via EAGLE3, MTP, and N-grams.
  • SSH-accessible GPU instances launched on demand for development, fine-tuning, and interactive workloads.
  • Enterprise-grade operations covering automated failure recovery, load balancing, monitoring, authentication, and access control.
  • Broad accelerator support: NVIDIA GPU, AMD GPU, Ascend NPU, Hygon DCU, MThreads GPU, Iluvatar GPU, MetaX GPU, Cambricon MLU, and T-Head PPU.

Who uses it and how

  • Development teams, IT organizations, and service providers that need to deliver Model-as-a-Service at scale over industry-standard APIs for LLM, voice, image, and video models.
  • Operators running mixed estates of on-premises servers and cloud clusters who want one control plane for GPU allocation across both.
  • Administrators who need real-time GPU performance and utilization monitoring alongside detailed metering of token usage and API request rates.
  • Platform teams that track system health through integrated Grafana and Prometheus dashboards.
  • Engineers who need an SSH-accessible GPU instance for fine-tuning or interactive work without standing up separate infrastructure.

Getting started

Prerequisites are a worker node with at least one NVIDIA GPU, the NVIDIA driver, Docker, and the NVIDIA Container Toolkit. The GPUStack server itself needs no GPU and can run on a CPU-only machine with Docker installed; other accelerator types are covered in the installation requirements documentation at docs.gpustack.ai.

How it compares

The facts do not name any paid product that GPUStack replaces, and the tools it references, namely vLLM, SGLang, and TensorRT-LLM, are inference engines it orchestrates rather than alternatives to it. No direct comparable cluster manager is named in the facts, so GPUStack stands alone in this registry on that basis.

When to use it — and when not to

A self-hoster must operate Docker, the NVIDIA driver, and the NVIDIA Container Toolkit on every worker node, and must have the GPUs the project is designed to schedule. Teams wanting a fully managed hosted service, or running CPU-only inference, are outside the target shape. One honest limitation from the facts: the live GPU Cluster Topology view is offered in GPUStack Enterprise rather than the open-source project, and the repository carries 696 open issues, so operators should expect an active, still-settling codebase.

project readme (upstream, from github) — read inline

GPUStack


Documentation License Discord Follow on X(Twitter)


English | 简体中文 | 日本語


Overview

GPUStack is an open-source GPU cluster manager for AI model serving and GPU instance provisioning. It configures and orchestrates inference engines — vLLM, SGLang, TensorRT-LLM, or your own — and lets you launch SSH-accessible GPU instances on demand. Its core features include:

  • Multi-Cluster GPU Management. Manages GPU clusters across multiple environments. This includes on-premises servers, Kubernetes clusters, and cloud providers.
  • Pluggable Inference Engines. Automatically configures high-performance inference engines such as vLLM, SGLang, and TensorRT-LLM. You can also add custom inference engines as needed.
  • Day 0 Model Support. GPUStack's pluggable engine architecture enables you to deploy new models on the day they are released.
  • Performance-Optimized Configurations. Offers pre-tuned modes for low latency or high throughput. GPUStack supports extended KV cache systems like LMCache and HiCache to reduce TTFT. It also includes built-in support for speculative decoding methods such as EAGLE3, MTP, and N-grams.
  • GPU Instances. Launches SSH-accessible GPU instances on demand for development, fine-tuning, and interactive workloads.
  • Enterprise-Grade Operations. Offers support for automated failure recovery, load balancing, monitoring, authentication, and access control.

Architecture

GPUStack enables development teams, IT organizations, and service providers to deliver Model-as-a-Service at scale. It supports industry-standard APIs for LLM, voice, image, and video models. The platform includes built-in user authentication and access control, real-time monitoring of GPU performance and utilization, and detailed metering of token usage and API request rates.

The figure below illustrates how a single GPUStack server can manage multiple GPU clusters across both on-premises and cloud environments. The GPUStack scheduler allocates GPUs to maximize resource utilization and selects the appropriate inference engines for optimal performance. Administrators also gain full visibility into system health and metrics through integrated Grafana and Prometheus dashboards.

gpustack-v2-architecture

Cluster Visibility at a Glance

The GPU Cluster Topology view in GPUStack Enterprise provides a live, bird's-eye view of your entire fleet — every worker, GPU, and model deployment in one place, with real-time utilization, allocation, and health status.

gpustack-cluster-topology

Optimized Inference Performance

GPUStack's automated engine selection and parameter optimization deliver strong inference performance out of the box. The following figure shows throughput improvements over default vLLM configurations:

h200-throughput-comparison

For detailed benchmarking methods and results, visit our Inference Performance Lab.

Supported Accelerators

GPUStack supports a wide range of accelerators for AI inference:

  • NVIDIA GPU
  • AMD GPU
  • Ascend NPU
  • Hygon DCU
  • MThreads GPU
  • Iluvatar GPU
  • MetaX GPU
  • Cambricon MLU
  • T-Head PPU

For detailed requirements and setup instructions, see the Installation Requirements documentation.

Quick Start

Prerequisites

  1. A node with at least one NVIDIA GPU. For other GPU types, please check the guidelines in the GPUStack UI when adding a worker, or refer to the Installation documentation for more details.
  2. Ensure the NVIDIA driver, Docker and NVIDIA Container Toolkit are installed on the worker node.
  3. (Optional) A CPU node for hosting the GPUStack server. The GPUStack server does not require a GPU and can run on a CPU-only machine. Docker must be installed. Docker Desktop (for Windows and macOS) is also supported. If no dedicated CPU node is available, the GPUStack server can be installed on the same machine as a GPU worker node.
  4. Only Linux is supported for GPUStack worker nodes. If you use Windows, consider using WSL2 and avoid using Docker Desktop. macOS is not supported for GPUStack worker nodes.

Install GPUStack

Run the following command to install and start the GPUStack server using Docker:

sudo docker run -d --name gpustack \
    --restart unless-stopped \
    -p 80:80 \
    --volume gpustack-data:/var/lib/gpustack \
    gpustack/gpustack
Alternative: Use Quay Container Registry Mirror

If you cannot pull images from Docker Hub or the download is very slow, you can use our Quay.io mirror by pointing your registry to quay.io:

sudo docker run -d --name gpustack \
    --restart unless-stopped \
    -p 80:80 \
    --volume gpustack-data:/var/lib/gpustack \
    quay.io/gpustack/gpustack \
    --system-default-container-registry quay.io

Check the GPUStack startup logs:

sudo docker logs -f gpustack

After GPUStack starts, run the following command to get the default admin password:

sudo docker exec gpustack cat /var/lib/gpustack/initial_admin_password

Open your browser and navigate to http://your_host_ip to access the GPUStack UI. Use the default username admin and the password you retrieved above to log in.

Set Up a GPU Cluster

  1. On the GPUStack UI, navigate to the Clusters page.

  2. Click the Add Cluster button.

  3. Select Docker as the cluster provider.

  4. Fill in the Name and Description fields for the new cluster, then click the Save button.

  5. Follow the UI guidelines to configure the new worker node. You will need to run a Docker command on the worker node to connect it to the GPUStack server. The command will look similar to the following:

    sudo docker run -d --name gpustack-worker \
          --restart=unless-stopped \
          --privileged \
          --network=host \
          --volume /var/run/docker.sock:/var/run/docker.sock \
          --volume gpustack-data:/var/lib/gpustack \
          --runtime nvidia \
          gpustack/gpustack \
          --server-url http://your_gpustack_server_url \
          --token your_worker_token \
          --advertise-address 192.168.1.2
    
  6. Execute the command on the worker node to connect it to the GPUStack server.

  7. After the worker node connects successfully, it will appear on the Workers page in the GPUStack UI.

Deploy a Model

  1. Navigate to the Catalog page in the GPUStack UI.

  2. Select the Qwen3.5-0.8B model from the list of available models.

deploy qwen3 from catalog

  1. After the deployment compatibility checks pass, click the Save button to deploy the model.

  2. GPUStack will start downloading the model files and deploying the model. When the deployment status shows Running, the model has been deployed successfully.

model is running

  1. Click Playground - Chat in the navigation menu, check that the model qwen3.5-0.8b is selected from the top-right Model dropdown. Now you can chat with the model in the UI playground.

quick chat

Use the model via API

  1. Navigate to the Access Control > API Keys page, then click the New API Key button.

  2. Fill in the Name and click the Save button.

  3. Copy the generated API key and save it somewhere safe. Please note that you can only see it once on creation.

  4. You can now use the API key to access the Open

readme truncated — read the full docs on github

Frequently asked questions

Is gpustack free to use?

gpustack is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does gpustack do?

A GPU cluster manager for high-performance AI model serving (vLLM, SGLang) and on-demand SSH-accessible GPU instances.

What is gpustack written in?

gpustack is primarily written in Python. Its source is publicly available at https://github.com/gpustack/gpustack, and it has 5,707 GitHub stars.