Skip to main content

Stop overpaying for GPU compute. Find the cheapest provider and deploy in one command.

Project description

โšก GPUFlux

Stop overpaying for GPU compute. GPUFlux finds the cheapest provider and deploys your AI workload in one command.

GPU prices vary 3โ€“5x across providers at any given moment. A training job costing $10/hr on AWS might cost $3/hr on bare-metal. GPUFlux checks live pricing across multiple providers and deploys your workload to the cheapest option โ€” automatically.

The Problem

  • You're running AI/ML workloads and burning money on GPU compute
  • Prices vary wildly between providers, but you don't have time to price-shop
  • Managing a mix of cloud VMs and dedicated servers is painful
  • When a spot instance gets reclaimed, your job dies

The Solution

gpuflux deploy --gpu A100 --job ./train.yaml

GPUFlux handles the rest: finds the cheapest available GPU across providers, provisions the server, deploys your job, and monitors it.

Features

  • ๐Ÿ” Live Price Comparison โ€” Real-time pricing from multiple GPU providers
  • ๐Ÿš€ One-Command Deploy โ€” Define your job once, deploy anywhere
  • ๐Ÿ’ฐ Cost Optimization โ€” Automatically selects the cheapest option matching your requirements
  • ๐Ÿ“Š Spend Tracking โ€” See exactly what you're spending and what you're saving
  • ๐Ÿ”Œ Provider Agnostic โ€” Works with OVH, Hetzner, Lambda Labs, RunPod, and more

Quick Start

Installation

pip install gpuflux

Configure Providers

gpuflux init

This walks you through adding API credentials for your GPU providers.

Check Prices

# See live GPU pricing across all configured providers
gpuflux prices --gpu A100

# Example output:
# Provider      | GPU     | $/hr  | Available | Region
# --------------|---------|-------|-----------|--------
# Lambda Labs   | A100    | 1.10  | 3         | us-west
# RunPod        | A100    | 1.64  | 12        | us-east
# OVH           | A100    | 2.10  | 2         | eu-west
# AWS (spot)    | A100    | 3.97  | 8         | us-east-1

Deploy a Job

# train.yaml
name: finetune-llama
gpu: A100
gpu_count: 1
min_vram: 80  # GB
docker_image: pytorch/pytorch:2.1.0-cuda12.1-cudnn8-runtime
command: python train.py --model llama-7b --data ./data
upload:
  - ./train.py
  - ./data/
gpuflux deploy --job train.yaml

Monitor

gpuflux status           # All running jobs
gpuflux logs <job-id>    # Stream logs from a running job
gpuflux spend            # Cost summary for the current month

Supported Providers

Provider Status GPU Types
Lambda Labs โœ… Live A100, H100, A10G
RunPod โœ… Live A100, H100, RTX 4090
OVH ๐Ÿšง Coming A100, V100
Hetzner ๐Ÿšง Coming โ€”
AWS (Spot) ๐Ÿšง Coming A100, H100, various
GCP (Spot) ๐Ÿ“‹ Planned A100, H100, T4

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   CLI / API  โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚   GPUFlux Core       โ”‚โ”€โ”€โ”€โ”€โ–ถโ”‚  Providers   โ”‚
โ”‚              โ”‚     โ”‚                      โ”‚     โ”‚              โ”‚
โ”‚  gpuflux     โ”‚     โ”‚  โ€ข Price Aggregator  โ”‚     โ”‚  Lambda Labs โ”‚
โ”‚  deploy      โ”‚     โ”‚  โ€ข Job Scheduler     โ”‚     โ”‚  RunPod      โ”‚
โ”‚  prices      โ”‚     โ”‚  โ€ข Deploy Engine     โ”‚     โ”‚  OVH         โ”‚
โ”‚  status      โ”‚     โ”‚  โ€ข Monitor           โ”‚     โ”‚  AWS         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Roadmap

  • Core price comparison engine
  • CLI interface
  • Lambda Labs provider
  • RunPod provider
  • OVH bare-metal provider
  • Job checkpointing & migration
  • Auto-failover on instance termination
  • Web dashboard
  • Team accounts & spend controls
  • Spot instance preemption prediction

Contributing

We're early stage and moving fast. If you're interested in contributing:

  1. Fork the repo
  2. Create a feature branch (git checkout -b feature/add-provider)
  3. Commit your changes
  4. Open a PR

See CONTRIBUTING.md for more details.

License

MIT License โ€” see LICENSE for details.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpuflux-0.1.1.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gpuflux-0.1.1-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file gpuflux-0.1.1.tar.gz.

File metadata

  • Download URL: gpuflux-0.1.1.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for gpuflux-0.1.1.tar.gz
Algorithm Hash digest
SHA256 428aee339839781166ece6897e531cee3ea565a7a35044d5cd86b7e7c4d46e0b
MD5 1144944e4469f41322a017229de9cf69
BLAKE2b-256 58e4a1e6dfd277e31ab832901cf4cad482bdc4faee9ed9cf750a5fa3beb9449b

See more details on using hashes here.

File details

Details for the file gpuflux-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: gpuflux-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for gpuflux-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5e9e3eb9781fa399e431714c335a5b62b4ee2cf8b75c7dbfc051149c4b435e48
MD5 30fd419ad304b6a1b414033cadeadd7c
BLAKE2b-256 7146097a5f65f041bfceb8d39b720b404000d33d9d937d62e1f2d6978da23b38

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page