Skip to main content

A streamlined workload manager designed for Deep Learning research, optimizing GPU usage for individuals and small teams.

Project description

cue

PyPI version License: MIT Python 3.10+

Lightweight GPU job scheduler for deep learning researchers.

Stop waiting for GPUs. Stop writing bash scripts. Define your experiments in YAML and let cue handle the rest.

Why cue?

You have 4 GPUs and 50 experiments to run. Cue automatically queues your jobs, assigns available GPUs, and logs everything—no daemons, no databases, just Python.

Install

pip install cue-ml

Requires Python 3.10+ and Linux with NVIDIA drivers.

Quick Start

1. Create experiments.yaml:

config:
  log_dir: "logs/my_project"
  python_cmd: "python3"

experiments:
  - name: "bert-finetune"
    script: "train.py"
    runs:
      - args: "--model bert-base --lr 1e-4"
      - args: "--model bert-large --lr 2e-5"
        gpus: 2  # Request 2 GPUs for this run

  - name: "vision-test"
    script: "evaluate.py"
    runs:
      - args: "--dataset cifar10"

2. Run:

cue -p experiments.yaml

Cue launches a terminal dashboard showing job status, GPU usage, and queue depth. Each run's output is automatically logged.

Features

  • Auto-GPU assignment – Detects idle GPUs and schedules jobs
  • Multi-GPU support – Request 1, 2, 4, or 8 GPUs per run
  • Live dashboard – Monitor everything in your terminal
  • Smart logging – Organized stdout/stderr for every experiment
  • No infrastructure – Just Python, no complex setup
  • Simulation mode – Test configs without GPUs

Configuration

Key Type Description
config.log_dir string Output directory for logs (default: ./logs)
config.python_cmd string Python interpreter (default: system Python)
experiments list Experiment definitions
experiments[].script string Path to Python script
experiments[].runs list Configurations to execute
experiments[].runs[].args string Command-line arguments
experiments[].runs[].gpus int GPUs required (default: 1)

CLI Options

cue -p experiments.yaml [options]
Option Description
-p, --path Path to config file (required)
--gpus N Default GPUs per job if not specified
--fail-fast Stop queue if any job fails
--dry-run Validate config without running
--simulate N Test with N fake GPUs
--debug Verbose error output

Testing Without GPUs

cue -p experiments.yaml --simulate 8

Simulates an 8-GPU machine for testing your pipeline.

Contributing

Contributions welcome! Fork, branch, commit, push, and open a PR.

License

MIT License – see LICENSE for details.

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

cue_ml-1.0.0.tar.gz (19.7 kB view details)

Uploaded Source

Built Distribution

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

cue_ml-1.0.0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file cue_ml-1.0.0.tar.gz.

File metadata

  • Download URL: cue_ml-1.0.0.tar.gz
  • Upload date:
  • Size: 19.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for cue_ml-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a3cdb8c5b9586a63c7ad5fb46721c8b5949deb0ec36e9b1ad07a79b47b8bd120
MD5 5f443c8b4ea64217e5ca99821d9b2c44
BLAKE2b-256 7f204fa75fe7228c941c2d6efce0a01c081c0d1f7732b4a558f7cd805935d391

See more details on using hashes here.

File details

Details for the file cue_ml-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: cue_ml-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for cue_ml-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 26112d3b7f9b036f5707e3c03a4e5470c68e3adc1a0332b47be23922387357ab
MD5 3076b531fc384fa2756ae4498f716bcf
BLAKE2b-256 3df50239cbb664bbdeda14f1ec39b70d5e88128192cd995dd34f24463a400e3f

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