A fast communication-overlapping library for tensor/expert parallelism on GPUs.
A fast communication-overlapping library for tensor/expert parallelism on GPUs.
You can get to know us better through the following channels
Flux is a communication-overlapping library for dense/MoE models on GPUs, providing high-performance and pluggable kernels to support various parallelisms in model training/inference.
Flux's efficient kernels are compatible with Pytorch and can be integrated into existing frameworks easily, supporting various Nvidia GPU architectures and data types.
[2025/03/10]We have released COMET: Computation-communication Overlapping for Mixture-of-Experts.
Install Flux either from source or from PyPI.
git clone --recursive https://github.com/bytedance/flux.git && cd flux
# For Ampere(sm80) GPU
./build.sh --arch 80 --nvshmem
# For Ada Lovelace(sm89) GPU
./build.sh --arch 89 --nvshmem
# For Hopper(sm90) GPU
./build.sh --arch 90 --nvshmemHere is a snippet to install Flux in a virtual environment. Let's finish the installation in an virtual environment with CUDA 12.4, torch 2.6.0 and python 3.11.
conda create -n flux python=3.11
conda activate flux
pip3 install packaging
pip3 install ninja
pip3 install torch==2.6.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
./build.sh --clean-all
./build.sh --arch "80;89;90" --nvshmem --packageThen you would expect a wheel package under dist/ folder that is suitable for your virtual environment.
We also provide some pre-built wheels for Flux, and you can directly install with pip if your wanted version is available. Currently we provide wheels for the following configurations: torch(2.4.0, 2.5.0, 2.6.0), python(3.10, 3.11), cuda(12.4).
# Make sure that PyTorch is installed.
pip install byte-flux--nvshmem to build Flux with NVSHMEM support. It is essential for the MoE kernels.FLUX_BUILD_SKIP_CMAKE to 1 to skip cmake if build/CMakeCache.txt already exists.--package to the build command. find the output wheel file under dist/Flux depends on NCCL and CUTLASS, which are located under 3rdparty/, and NVSHMEM, which you can install by pip.
pip install nvidia-nvshmem-cu12; If you want to build nvshmem from source, you can download it from https://developer.nvidia.com/nvshmem. Flux is tested with nvshmem 3.2.5/3.3.9Below are commands to run some basic demos once you have installed Flux successfully.
…You can check out the documentations for more details!
The Flux Project is under the Apache License v2.0.
If you use Flux in a scientific publication, we encourage you to add the following reference to the related papers:
…Founded in 2023, ByteDance Seed Team is dedicated to crafting the industry's most advanced AI foundation models. The team aspires to become a world-class research team and make significant contributions to the advancement of science and society.
No open issues yet, or sync has not completed.