Hitesh Sahu
Hitesh SahuHitesh Sahu
  1. Home
  2. ›
  3. work
  4. ›
  5. …

  6. ›
  7. 7 caravan

Loading ⏳
Fetching content, this won’t take long…


💡 Did you know?

🦈 Sharks existed before trees 🌳.

🍪 This website uses cookies

No personal data is stored on our servers however third party tools Google Analytics cookies to measure traffic and improve your website experience. Learn more

AI-Machine-Learning

    AI & Machine Learning
    • AI Infrastructure & LLM Platform

    • Model Gym

    • RAG Factory

    • NVIDIA Super POD

    • GPU Fabric Bench

    • Prompt Bridge

    • Caravan — Local SLURM Cluster CLI


    Cloud & DevOps

    Full-Stack Applications

    Mobile Development

Cover Image for Caravan — Local SLURM Cluster CLI
Fork me on GitHub
AI & Machine Learning

Caravan — Local SLURM Cluster CLI

Open Source

2026

Creator & Maintainer

AI Infrastructure & LLM

Tech Stack
Go
SLURM
Docker / Podman
HPC Scheduling
GPU Workloads
Containerisation
CLI Tooling
GoReleaser

Summary

A Go CLI that spins up a fully containerised SLURM cluster locally — so HPC and AI batch jobs can be developed, tested, and debugged without access to real cluster hardware.


What I Built

Project Overview

Developing SLURM workloads normally requires access to an HPC cluster — which is slow to provision, expensive, and often shared. Caravan bundles a complete SLURM cluster (controller node + compute nodes) into a single self-contained Go binary backed by Docker Compose containers.

Developers can run caravan cluster up, submit real sbatch jobs, and iterate locally — then ship the same scripts to production SLURM clusters without changes.

Caravan uses SLURM — it doesn't replace it. SLURM stays the scheduler; Caravan is the control plane.


Key Features

One-Command Cluster

caravan cluster up        # start controller + compute nodes
caravan submit train.sh   # submit an sbatch job
caravan cluster down      # tear down cleanly

Real or Fake GPU Support

  • Default: fake GPUs — any machine can test GPU-targeted jobs
  • CARAVAN_GPU=real: bind-mounts actual NVIDIA GPUs into compute containers for full CUDA testing

Cross-Platform

Runs on Linux, macOS, and Windows (via WSL2). Auto-detects Docker or Podman as the container backend.

Self-Contained Binary

Single binary with embedded cluster configuration — no Helm charts, no Kubernetes, no external dependencies beyond a container runtime.


Why It Matters

Without Caravan With Caravan
Need HPC cluster access to test a batch job caravan cluster up in seconds on laptop
Cluster queue wait times slow iteration Immediate job execution locally
GPU nodes scarce and shared Fake GPU mode lets anyone test GPU job scripts
Debugging requires SSH into remote nodes Local logs, local attach

For AI teams that run training pipelines on SLURM (common in HPC-heavy environments like national labs and NVIDIA DGX clusters), Caravan collapses the dev → test → submit cycle.


Technical Highlights

Embedded SLURM Cluster

Docker Compose topology mirrors a real SLURM deployment: one slurmctld controller and configurable slurmd compute nodes, networked and configured automatically.

GPU Passthrough

When CARAVAN_GPU=real, the compute containers use the NVIDIA Container Toolkit to expose host GPUs — enabling actual CUDA workloads inside the local cluster.

Go CLI Design

Built with Go for a single-binary distribution and fast startup. GoReleaser handles cross-platform release artifacts for Linux, macOS, and Windows.


Technology Stack

Language: Go

Scheduler: SLURM (slurmctld + slurmd)

Container Runtime: Docker, Podman (auto-detected)

Orchestration: Docker Compose

GPU Support: NVIDIA Container Toolkit (optional)

Packaging: GoReleaser

Platforms: Linux, macOS, Windows (WSL2)

← Previous

Prompt Bridge

Next →

Betting Platform

Let's work together
+49 176-2019-2523
hiteshkrsahu@gmail.com
WhatsApp
Skype
Munich 🥨, Germany 🇩🇪, EU
Playstore
Hitesh Sahu's apps on Google Play Store
Need Help?
Let's Connect
Navigation
  Home/About
  Skills
  Work/Projects
  Lab/Experiments
  Contribution
  Awards
  Art/Sketches
  Thoughts
  Contact
Links
  Sitemap
  Legal Notice
  Privacy Policy

Made with

NextJS logo

NextJS by

hitesh Sahu

| © 2026 All rights reserved.