Balance GPU workloads when training mixture-of-experts large language models.
Reduce communication overhead between GPUs during expert routing.
Compare training stability against imbalance-prone libraries like DeepEP.
Integrate expert dispatch and gradient reduction into a custom training framework.
| moonshotai/moonep | huohua325/memslides | lucidrains/mlp-mixer-pytorch | |
|---|---|---|---|
| Stars | 1,073 | 1,083 | 1,063 |
| Language | Python | Python | Python |
| Last pushed | — | — | 2025-07-07 |
| Maintenance | — | — | Stale |
| Setup difficulty | hard | hard | easy |
| Complexity | 5/5 | 4/5 | 2/5 |
| Audience | researcher | researcher | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires deep integration into an existing distributed training framework and multi-GPU NVIDIA hardware.
MoonEP is a specialized software library used when training or running very large AI models that are split across many graphics cards, or GPUs, at once. Modern large language models often use a technique called mixture of experts, where instead of every part of the model processing every piece of input, the model routes each piece of data to only a handful of specialized sub networks, called experts, spread across different GPUs. The problem this creates is that some experts naturally end up receiving far more work than others depending on what the data looks like, which slows the whole system down because everything has to wait for the busiest GPU to finish. MoonEP solves this by making sure every GPU always receives exactly the same, predictable amount of work no matter how unevenly the AI model's routing decisions turn out to be. It does this by planning, in real time, a small number of duplicate copies of the busiest experts and prefetching them onto less busy GPUs before computation starts, so the load evens out automatically. It also avoids unnecessary copying of data between memory buffers, moving information as directly as possible between GPUs to keep communication overhead low. The project includes benchmark comparisons against a similar existing library, showing that MoonEP keeps communication time and training speed stable even as the imbalance between experts grows, while the comparison library slows down and can eventually run out of memory under the same conditions. It currently supports NVIDIA GPUs, with support for another type of hardware described as still under review. Using MoonEP requires directly integrating its API into an existing AI training or inference framework, working with concepts like GPU memory buffers, weight tensors, and gradient reduction, which assumes a strong existing background in distributed machine learning systems. The README does not state a license, so it is unclear under what terms the code can be reused. This project is intended for AI researchers and engineers building or scaling very large language models across multiple GPUs, not for general developers or non-technical users.
A GPU communication library that keeps workloads perfectly balanced across graphics cards when training large mixture-of-experts AI models.
Mainly Python. The stack also includes Python, CUDA.
No license is stated in the README, so reuse and redistribution terms are unclear.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.