Skip to content

adambarla/gpu-queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPU Job Queue

A lightweight job queue for shared GPU servers without SLURM.

Demo

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/gpu-queue.git
    cd gpu-queue-rs  # or relevant directory
  2. Install with uv (Recommended):

    uv pip install -e .

Usage

  1. Start the Scheduler:

    # Run in foreground (for testing/debugging)
    gpu-queue serve --min-free 2
    
    # OR Start background daemon
    gpu-queue start --min-free 2
  2. Submit Jobs:

    gpu-queue add "python train.py --config config.yaml" --gpus 4 --priority high
    gpu-queue add "bash scripts/eval.sh" --gpus 1 --front
  3. Monitor & Manage (TUI): Open the interactive dashboard:

    gpu-queue watch

    Keybindings:

    • d: Duplicate selected job (enters Edit Mode)
    • e: Edit selected pending job / Confirm changes
    • c: Cancel job (Pending -> Cancelled status)
    • Space: View logs (internal viewer)
    • L: View logs in external viewer (less)
    • p: Pause/Resume running job
    • r: Remove completed job

    Interactive Editing:

    • Enter Edit Mode: Press e on a pending job or d to duplicate.
    • Navigation: Use h/l to switch between GPUs, Priority, and Command fields.
    • Modify Values: Use j/k to increase/decrease values.
    • Edit Command: Select the Command field and press Enter to open your system editor.
    • Confirm: Press e to save changes.
    • Cancel: Press Esc to discard changes.

Development Setup

  1. Install Dev Dependencies:

    uv sync
  2. Install Pre-commit Hooks (Important for contributing):

    uv run pre-commit install

    This ensures code style checks run before every commit.

About

Utility to manage queuing of jobs to run on a GPU cluster. Intended use-case is for one node with multiple gpus and users where something like SLURM might be an overkill. However, the utility is meant to only manage jobs of a single user (future direction is to cover more users). Comes with a live TUI to manage the jobs.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages