Inspiration

GPU workloads are often launched as separate processes with no shared coordination. On machines with limited VRAM, jobs can compete for memory, fail unexpectedly, and leave users wondering why one job ran before another. We created VAnta for the InfinityX Global Hackathon 2K26 to make GPU workload management visible, predictable, and explainable. Our guiding loop is: Observe → Rule → Queue / Action → Verify

What it does

VAnta is a user-level GPU workload controller for Windows. It:

  • Monitors GPU utilization, VRAM, temperature, power, CPU, and RAM
  • Assigns jobs critical, high, normal, or low priority
  • Queues GPU workloads and launches them when resources are available
  • Uses an explainable VRAM admission rule with a 512 MB safety reserve
  • Controls and cancels processes launched by VAnta
  • Verifies VRAM usage before and after each action
  • Displays decisions through a live dashboard and decision feed
  • Stores job history in SQLite
  • Recovers safely from interrupted processes
  • Includes a Policy Lab and one-click demo scenario ## How we built it We built VAnta as a native Windows desktop application using Python and PySide6. The system is divided into several layers:
  • Telemetry: NVIDIA Management Library through pynvml, plus psutil for CPU and RAM
  • Scheduling: Python domain modules for rules, priorities, queueing, and job lifecycle
  • Persistence: SQLite for jobs, events, and decision history
  • Demo workload: CUDA Driver API through ctypes, without requiring PyTorch or the CUDA Toolkit
  • Packaging: PyInstaller for a standalone Windows application
  • Testing: pytest for scheduling, admission rules, persistence, recovery, and demo behavior A job is admitted only when enough VRAM remains after reserving a safety buffer: free VRAM - requested VRAM ≥ safety reserve VAnta operates at normal user level. It does not modify the NVIDIA driver, Windows Scheduler, registry, or system services ## Challenges we ran into The biggest challenge was managing GPU workloads safely without controlling the operating system at kernel or driver level. We designed VAnta to control only the child processes it launches. We also had to handle:
  • Preventing unsafe interruption of running CUDA workloads
  • Measuring actual VRAM changes after a process starts
  • Recovering jobs after an unexpected shutdown
  • Keeping scheduling decisions understandable to users
  • Demonstrating realistic GPU behavior without requiring a large machine
  • Testing telemetry and CUDA features when compatible hardware is unavailable ## Accomplishments that we're proud of We built a working end-to-end controller rather than only a monitoring dashboard. VAnta can observe resources, apply rules, queue jobs, launch workloads, verify results, and explain every decision. We are especially proud of:
  • A functional Windows dashboard
  • Predictable non-preemptive scheduling
  • Explainable VRAM admission decisions
  • A real CUDA pulse workload
  • Persistent job and event history
  • Safe process recovery
  • A Policy Lab for comparing scheduling policies
  • Automated tests covering the core behavior
  • A one-click demo that shows queueing, verification, and VRAM rejection ## What we learned We learned that resource scheduling is not only about maximizing GPU utilization. Users also need predictable behavior, safe recovery, and clear explanations for every scheduling decision. We gained practical experience with:
  • GPU and system telemetry
  • Process lifecycle management
  • Queue and priority design
  • VRAM admission control
  • Native Windows desktop development
  • SQLite persistence and crash recovery
  • Testing scheduling policies with deterministic workloads
  • Designing within the limits of user-level applications ## What's next for VAnta Our next steps are:
  • Support multiple GPUs
  • Add Linux telemetry support
  • Support remote GPU workers
  • Add per-user and per-team quotas
  • Add scheduled workloads
  • Improve workload estimation using historical data
  • Explore checkpoint-aware preemption
  • Add analytics for throughput, wait time, and resource efficiency

Built With

Share this project:

Updates

Submission history