> ## Documentation Index
> Fetch the complete documentation index at: https://docs.biom.science/llms.txt
> Use this file to discover all available pages before exploring further.

# Compute Providers

> Where and how your models run — cloud GPU, local Docker, HPC, and more.

# Compute Providers

Relay supports five compute providers for running scientific models. The system automatically selects the cheapest GPU that meets the model's VRAM requirements, or you can choose a provider manually.

## Modal Labs (default cloud GPU)

[Modal](https://modal.com/) is the default compute provider for all GPU-requiring models.

* **Serverless GPU** — no instances to manage, pay only for compute time
* **Auto-scaling** — scales to zero when idle
* **GPU selection** — system auto-selects cheapest GPU meeting VRAM requirements
* **Cost estimation** — estimated cost displayed before execution

See [Pricing](/compute/pricing) for GPU rates.

## Local Docker

Run models on your own machine using Docker:

* **GPU passthrough** — uses nvidia-docker for GPU access
* **GPU detection** — auto-detects GPU via nvidia-smi
* **Log streaming** — real-time progress updates
* **Configurable resources**:

| Setting          | Default      |
| ---------------- | ------------ |
| Memory limit     | 16 GB        |
| CPU limit        | 8 cores      |
| Timeout          | 3600 seconds |
| Auto-pull images | On           |

Best for: users with local GPU hardware who want to avoid cloud costs.

## HPC / SLURM

Submit jobs to your institution's HPC cluster:

* **SSH connection** — connect to cluster head node via SSH
* **Singularity containers** — or bare-metal execution (module/conda)
* **SLURM resource specs**:
  * Partition selection
  * GPU type (gres)
  * Time limit
  * Memory per node
  * CPUs per task

| Setting             | Default           |
| ------------------- | ----------------- |
| Poll interval       | 5 seconds         |
| Max wait time       | 4 hours           |
| SSH connection pool | Max 5 connections |

* **SFTP file transfer** — for clusters without shared filesystems

Best for: researchers with access to institutional HPC resources.

## User GPU Server (REST API)

Connect any GPU server that exposes a REST API:

* **Custom endpoint** — point to your own server
* **API key auth** — Bearer token authentication
* **SSL verification** — configurable SSL settings
* **Standard contract** — `/execute` and `/health` endpoints
* **Concurrency** — max 10 concurrent jobs (configurable)

Best for: teams with dedicated GPU servers or custom inference endpoints.

## HuggingFace Spaces

Run models hosted on HuggingFace Spaces:

* **Gradio client** — connects via the Gradio API
* **Public and private** — supports token-gated private spaces
* **No GPU management** — compute handled by HuggingFace

Best for: leveraging community models hosted on HuggingFace.
