SysSim

Estimate the step time and peak memory of LLM training — on hardware you don’t have — without running real computation.

SysSim models tensor, sequence, data, context, and pipeline parallelism and reports step time, MFU, and per-GPU memory (including per-pipeline-stage peaks and OOM) for distributed LLM training.

Getting Started

Install SysSim and run your first simulation in a few minutes.

Installation
API Reference

Every public function, class, and CLI command, documented.

API Reference
Configuration

The two-file YAML system for models and hardware.

Configuration
Concepts

What the simulator models and how to read its report.

Concepts

Why SysSim

  • Estimate training step time and MFU on accelerators you can’t access.

  • Compare parallelism strategies (TP / SP / DP / CP / PP) before allocating a cluster.

  • Predict peak per-GPU memory and catch OOM ahead of time.

  • Find the bottleneck — top ops by time, dominant op type, heaviest pipeline stage.

A 30-second taste

import syssim

report = syssim.simulate(
    model="examples/configs/models/qwen3-1_7b.yaml",
    hardware="examples/configs/hardware/isambard_gh200_4gpu.yaml",
    parallelism=syssim.ParallelismConfig(tp=2, dp=2),
    training=syssim.TrainingConfig(micro_batch=1, global_batch=8, dtype="bf16"),
)
print(report.step_time_ms, report.mfu, report.peak_memory_gb)