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

Uploaded Python 3

File details

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

File metadata

  • Download URL: flexium-0.2.0a3.tar.gz
  • Upload date:
  • Size: 54.8 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.0a3.tar.gz
Algorithm Hash digest
SHA256 b376c9744b14efbe16bffe1f606e7742a2734d2354db8da4781db2b597c7d4c7
MD5 2a10c60b81f6b2ccbe887862fe0d9ba2
BLAKE2b-256 c0f8620577cab57154dab13ec8e63288d2faede31b964f29e96e8d3e1c582f92

See more details on using hashes here.

Provenance

The following attestation bundles were made for flexium-0.2.0a3.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.0a3-py3-none-any.whl.

File metadata

  • Download URL: flexium-0.2.0a3-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.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 53d928f261396c870a3b1cd0093c246622bd79fe9af4ef64cb66670bd4d765fd
MD5 9f97dab49537d32d8214b89774f70ab4
BLAKE2b-256 949d55ffd96bb132b474e3edca24651daf07d5519272f0e34d79b61693897cd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for flexium-0.2.0a3-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