Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Pipeline Parallelism for Minimalists

Every paper seems to present pipeline schedules in a slightly different setup, which makes it hard to compare them side by side. So I went down the rabbit hole and built a tiny simulator to explore them in a unified way.

It’s a lightweight, CPU-only tool that lets you:

  • Mix and match partitioning, assignment, and execution strategies
  • Simulate microbatch flows step by step
  • Visualize all schedules in a consistent timeline format

The whole thing is under 1,000 lines of code—not production-ready, a bit rough around the edges—but it helped me understand and compare schedules much more clearly.

📝 Check out the full blog post here: https://ailzhang.github.io/posts/pipeline-parallelism-demystified/

Supported schedules

  • gpipe Gpipe schedule
  • 1f1b 1F1B schedule
  • zero bubble 1f1b ZB1F1B schedule
  • eager 1f1b Eager 1F1B schedule
  • interleaved virtual pipeline Interleaved virtual pipeline schedule
  • vshape zero bubble Vshape zb schedule
  • bfs looping BFS looping schedule
  • dualpipev Dualpipev schedule

Bug reports

This repo started as a toy side project without thorough testing and there will definitely be rough edges. PRs and bug reports are welcome!

About

Pipeline parallelism for the minimalist

Resources

Stars

40 stars

Watchers

0 watching

Forks

Contributors

Languages