Skip to main content

Slurm Factory Spack Repository

Welcome to the Slurm Factory Spack Repository - a custom Spack repository providing enhanced Slurm packages and dependencies for production HPC deployments.

What is This Repositoryโ€‹

This repository provides:

  • Custom Spack Packages: Enhanced Slurm workload manager with optimized build variants
  • Pre-built Binaries: Access to public buildcache for instant installation (5-15 minutes vs 45-90 minutes compilation)
  • Multiple Versions: Support for Slurm 23.11, 24.11, and 25.11
  • Production Ready: All packages are GPG-signed and tested in production environments

Key Featuresโ€‹

  • โšก Instant Deployment: Install from cache in 5-15 minutes instead of 45-90 minutes of compilation
  • ๐Ÿ“ฆ Relocatable Packages: Deploy to any filesystem path without recompilation
  • ๐Ÿ”’ GPG Signed: All packages cryptographically signed for security and integrity
  • ๐Ÿงช Production Tested: Configurations validated in real-world HPC environments
  • ๐Ÿ”ง Custom Variants: Enhanced build options for GPU support, monitoring, and more

Quick Startโ€‹

The fastest way to get Slurm - no compilation required:

# Install Spack
git clone --depth 1 --branch v1.0.0 https://github.com/spack/spack.git ~/spack
source ~/spack/share/spack/setup-env.sh

# Add this repository
git clone https://github.com/vantagecompute/slurm-factory-spack-repo.git
spack repo add slurm-factory-spack-repo/spack_repo/slurm_factory

# Add buildcache mirror
spack mirror add slurm-factory-slurm \
https://slurm-factory-spack-binary-cache.vantagecompute.ai/slurm/25.11/15.2.0

# Trust GPG keys
spack buildcache keys --install --trust

# Install Slurm (5-15 minutes)
spack install --cache-only slurm@25-11-0-1

Option 2: Build from Sourceโ€‹

For custom configurations:

# After adding the repository (see above)
spack install slurm_factory.slurm@25-11-0-1 +nvml sysconfdir=/etc/slurm

Available Packagesโ€‹

slurmโ€‹

Enhanced Slurm workload manager with production optimizations.

Versions:

  • 25-11-0-1 - Latest (Slurm 25.11.0-1)
  • 24-11-6-1 - Stable (Slurm 24.11.6-1)
  • 23-11-11-1 - Stable (Slurm 23.11.11-1)

Key Variants:

  • sysconfdir - Configuration directory (default: PREFIX/etc)
  • gtk - GTK+ support for GUI tools
  • nvml - NVIDIA GPU support
  • rsmi - AMD ROCm GPU support

See Slurm Package Documentation for complete variant list.

curlโ€‹

Command-line URL transfer utility with LDAP support (required for Slurm's InfluxDB plugin).

See curl Package Documentation for details.

freeipmiโ€‹

IPMI library for out-of-band hardware management.

See FreeIPMI Package Documentation for details.

opensslโ€‹

OpenSSL toolkit for secure communications.

See OpenSSL Package Documentation for details.

Repository Structureโ€‹

slurm-factory-spack-repo/
โ”œโ”€โ”€ spack_repo/
โ”‚ โ””โ”€โ”€ slurm_factory/ # Main Spack repository
โ”‚ โ”œโ”€โ”€ repo.yaml # Repository metadata
โ”‚ โ””โ”€โ”€ packages/
โ”‚ โ”œโ”€โ”€ slurm/ # Slurm package
โ”‚ โ”œโ”€โ”€ curl/ # curl package
โ”‚ โ”œโ”€โ”€ freeipmi/ # FreeIPMI package
โ”‚ โ””โ”€โ”€ openssl/ # OpenSSL package
โ”œโ”€โ”€ scripts/ # Build and documentation scripts
โ”œโ”€โ”€ docusaurus/ # This documentation
โ””โ”€โ”€ README.md

Public Buildcacheโ€‹

All packages are available in our public buildcache at:

https://slurm-factory-spack-binary-cache.vantagecompute.ai/

Supported Combinationsโ€‹

  • Slurm Versions: 23.11, 24.11, 25.11
  • GCC Versions: 13.3.0, 13.4.0, 15.2.0
  • Total: 27 version combinations, all GPG-signed

Build Time Comparisonโ€‹

Build TypeDependenciesSizeBuild TimeBuildcache TimeUse Case
CPU-only~45 packages2-5GB35-45 min5-10 minProduction clusters
GPU-enabled~180 packages15-25GB75-90 min15-20 minGPU/CUDA clusters

GPG Package Signingโ€‹

All packages in the buildcache are cryptographically signed with GPG for security:

  • Authenticity: Verify packages were built by Vantage Compute
  • Integrity: Detect tampering or corruption during download
  • Security: Prevent man-in-the-middle attacks
  • Trust Chain: Establish provenance for production deployments
  • Compliance: Meets security requirements for regulated environments

Keys are automatically imported when using spack buildcache keys --install --trust.

Use Casesโ€‹

  • HPC Cluster Deployment - Deploy Slurm on compute clusters with minimal build time
  • CI/CD Testing - Test Slurm configurations in containerized environments
  • Development - Quick Slurm installations for development and testing
  • Multi-version Management - Maintain multiple Slurm versions side-by-side

Installation Examplesโ€‹

Basic CPU Clusterโ€‹

spack install slurm_factory.slurm@25-11-0-1 sysconfdir=/etc/slurm

GPU Cluster with NVIDIA Supportโ€‹

spack install slurm_factory.slurm@25-11-0-1 +nvml sysconfdir=/etc/slurm
spack install slurm_factory.slurm@25-11-0-1 \
+nvml +gtk sysconfdir=/etc/slurm %gcc@15.2.0

Requirementsโ€‹

For Using Buildcacheโ€‹

  • Linux system (Ubuntu 22.04+, RHEL 8+, or similar)
  • Spack 1.0.0 or later
  • Internet connection for downloading packages

For Building from Sourceโ€‹

  • All buildcache requirements, plus:
  • 50GB disk space
  • 4+ CPU cores, 16GB RAM recommended
  • Build tools (gcc, make, cmake)

Next Stepsโ€‹

  • Slurm Factory - Build system for creating Slurm binaries
  • Spack - The package manager powering this repository
  • Slurm - The workload manager we're packaging

Licenseโ€‹

This project is licensed under the Apache License, Version 2.0.

Copyright 2025 Vantage Compute, Inc. and contributors.