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 git+https://github.com/Reflex1171/GPUFlux.git

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.0.tar.gz (14.6 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.0-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: gpuflux-0.1.0.tar.gz
  • Upload date:
  • Size: 14.6 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.0.tar.gz
Algorithm Hash digest
SHA256 240fc6ba6f7b08ee1acb7a67b23334839cfb36e133079de9c86ff8e7b24c711d
MD5 5eddcfc90aa07dfb6f3adb1031aa7501
BLAKE2b-256 6ce91799de9f5760f6e0b3b2db5983be051b6f94df4b49bbf76e85a0e0e618e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: gpuflux-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 217a562eaf954c4deba348b1d9ce32e2f78cb69c663ca1106681f2157feb2966
MD5 c86ae1d92c9da8bdef952f456c7aa505
BLAKE2b-256 dad58d321d183e3bde9edf7a30e222d47bba68e1858032323c0377d7304d8f67

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