Skip to main content

Flexium.AI - Flexible Resource Allocation for GPU training with live migration

Project description

Flexium Logo

Flexium

Zero-downtime GPU migration for PyTorch training
Move running training jobs between GPUs without stopping them.

PyPI version Python versions License

Quick StartFeaturesHow It WorksSign Up Free


What is Flexium?

Flexium enables live GPU migration for PyTorch training. Move your training between GPUs without stopping, checkpointing, or losing progress.

import flexium.auto

with flexium.auto.run():
    # Your existing training code - unchanged
    for epoch in range(100):
        for batch in dataloader:
            loss = model(batch).sum()
            loss.backward()
            optimizer.step()
    # Training transparently migrates between GPUs when needed

Zero code changes. Zero downtime. Zero memory residue.

Features

  • Live Migration - Move training between GPUs on the same server without stopping
  • Zero Code Changes - Just wrap your training loop
  • Zero Memory Residue - Source GPU is completely freed
  • PyTorch & Lightning - Works with PyTorch and PyTorch Lightning
  • Web Dashboard - Visual GPU management and monitoring
  • Pause/Resume - Temporarily free GPU, resume on any available GPU

Quick Start

1. Install

pip install flexium

2. Get Your API Key

Sign up for free at https://flexium.ai

3. Add Two Lines to Your Training

import flexium.auto

with flexium.auto.run():
    # Your existing training code - no changes needed
    model = MyModel().cuda()
    for epoch in range(100):
        train_one_epoch(model)

That's it! Your training is now migratable.

How It Works

┌─────────────────────────────────────────────────────────────┐
│                    YOUR TRAINING CODE                        │
│                                                              │
│   with flexium.auto.run():                                  │
│       model.train()   ◄─── Training runs normally           │
└─────────────────────────────────────────────────────────────┘
                              │
                              │ Heartbeat
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                   FLEXIUM SERVER                             │
│                                                              │
│   Monitors your GPUs and coordinates migrations             │
│   - Web dashboard for visual management                     │
│   - One-click migration between GPUs                        │
│   - Pause/resume training jobs                              │
└─────────────────────────────────────────────────────────────┘

When migration is triggered (via dashboard or CLI), Flexium:

  1. Captures complete GPU state at driver level (driver 580+)
  2. Frees source GPU completely (0 MB residue)
  3. Restores on target GPU seamlessly

Your training code never knows it moved.

Use Cases

GPU Sharing

# Free up GPUs for teammates without killing your job
with flexium.auto.run():
    train_model()  # Can be migrated via dashboard anytime

Resource Optimization

# Move jobs between GPUs based on memory requirements
with flexium.auto.run():
    train_model()  # Migrate to GPU with more VRAM when needed

Pause for Priority Jobs

# Pause your job to free GPU, resume later
with flexium.auto.run():
    train_model()  # Pause via dashboard, resume on any GPU

Requirements

  • Python 3.8+
  • PyTorch 2.0+
  • NVIDIA GPU with driver 580+
  • CUDA 12.4+
  • Linux x86_64

Documentation

Support

License

Apache 2.0 - See LICENSE for details.


Built with ❤️ by the Flexium team
flexium.ai

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

flexium-0.2.0a2.tar.gz (54.5 kB view details)

Uploaded Source

Built Distribution

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

flexium-0.2.0a2-py3-none-any.whl (59.9 kB view details)

Uploaded Python 3

File details

Details for the file flexium-0.2.0a2.tar.gz.

File metadata

  • Download URL: flexium-0.2.0a2.tar.gz
  • Upload date:
  • Size: 54.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for flexium-0.2.0a2.tar.gz
Algorithm Hash digest
SHA256 8b8b323f02a6a32ab35d474a7c00286c0cc8bb3ceea34946f503689902a7e4b0
MD5 421bd460c5d81639c3c49e7dd0b460d2
BLAKE2b-256 ce24d32354382d065e6fdb682a4ab1ba10bda23cec98fe7ce6500e819f1403b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for flexium-0.2.0a2.tar.gz:

Publisher: publish.yml on flexiumai/flexium

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flexium-0.2.0a2-py3-none-any.whl.

File metadata

  • Download URL: flexium-0.2.0a2-py3-none-any.whl
  • Upload date:
  • Size: 59.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for flexium-0.2.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 645f1e3ef5005077c799fab8e8510f78d394d7a580aac00cf136dd5067d85f5a
MD5 a3eb57aee8a0278d9b12679f86e174a4
BLAKE2b-256 6ed542c47cbdf2a43028221bc95e44c4e69ff4f3a18068d88ee89fbf45796cdd

See more details on using hashes here.

Provenance

The following attestation bundles were made for flexium-0.2.0a2-py3-none-any.whl:

Publisher: publish.yml on flexiumai/flexium

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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