AETHERCOMPUTEAETHERCOMPUTEAETHERCOMPUTEAETHERCOMPUTEAETHERCOMPUTEAETHERC
E:cccclllllllloooooooooodddddddddddodddddddddddddddddddddddddddddddooooO
TcclllllllllllloooooooooddddddoooooooodddddddddddddddddddddddddddddooooM
HllllllllllllllloooooolclllllllcllccllllllllllooooddddooddddddddddoooooP
Ellllllllllllllllllccc:::clllllllc;:looooolccllllllllcloooddddddddoooooU
Rccclllllllllcc:::ccccc:;cllllccc;':llloolc:clolllc:;:lllloooooodooooooT
Ccccccccccccc:;;;:cccc:;'';:::;,'..;::::;,,;:ccc:,',:clllllllloolloooooE
Occccccccc::;;:;,'';;;;'....'.... .''''...',;,'...';ccllllllllcccclllllA
Mccccc:::;;;;;;;,........ .. ... ..,;::::::::::::ccllllllE
Pc::::;,,,,,,''.... .. ........'''',:cclllccccT
U::::;,'''................. .,,...........','... ...',;::c:::::ccH
T::;;,,''....',;:;........ .. .........,colc:,... .......'',,;;;E
E::;,,,'',,;:cllol:....... ...'''',codddolc:,'... ......',R
A:;,'',,;;:cclooool:,......... ......''',;lddxdddoolc:,'..........',;;:C
E,,',,,,;;;::ccllloll:,...............',:odddddoolcc:;,'.'''..',;;::cccO
T''',,,,,,,,,,;;::::cc:;,'....'....'',:clooolllc:;,''''''',;;;;;:clllllM
H,;;:::cc::;;;;;,,'.',,,,;;;;;,,;;;;;::::;:::;;,'...'',;::cclllllllllllP
E:::::cccccccc:;,''''...,::;,...,;,...,,'...'',,,',,;:cccllllloooooooooU
R::::::::::ccc:;,;:;'';;:lc;,..',;:,'..;:;,,;,,:ccccccloolcccllllloooooT
C::ccc:::::::::::c:;;::::llc:,';:cccc:,:llccllc:clllcccllllllllllllooooE
Occcccccccc::::::::::cc::ccc:;;::ccccc::clllcclc::cccccccllllllllooooooA
Mllllccccccccccccc::ccccccccc::::ccccc:::cccccccc::ccccccllllloooooooooE
Plllllllcccccccccccccccccccccc:cc:::::::::::::::cccccccllllooooooooooodT
UoollllllllllllllcccccclllcccccccccccccccccccccccllllllloooooooodddddddH
TEAETHERCOMPUTEAETHERCOMPUTEAETHERCOMPUTEAETHERCOMPUTEAETHERCOMPUTEAETHE
aethercompute.org
Aether is a distributed training system for language models. The workspace is mostly Rust, with Python bindings and helper modules for model implementations, sidecars, and optional vLLM inference.
This README is the front door. Detailed docs live beside the code they describe:
shared/: reusable Rust crates for coordination, training, networking, data, metrics, TUI, event logs, and tests.architectures/centralized/: the centralized server/client/volunteer architecture and local testnet.python/: PyO3 extension, Python model backends, sidecar protocol, and vLLM bridge.config/: sample coordinator, data, model, and experiment configs.scripts/: launchers, local CI, data preparation, dashboard, and Hugging Face utilities.
First-party Rust packages are workspace members from shared/*,
architectures/centralized/*, and python/. The vendored ts-rs crates under
vendor/ are path dependencies, not workspace members.
Useful entry points:
just --listshows common developer commands.just build-serverbuilds the centralized server through the libtorch setup wrapper.just local-testnetstarts a local centralized tmux testnet.just ci-localruns formatting, linting, tests, oracle tests, cargo-deny, and Python tests.
- Rust toolchain from
rust-toolchain.toml. - Python 3.12 for Python-side tools and tests.
- PyTorch/libtorch available to builds that touch
tchor PyO3 Torch bindings. just,uv, andcargo-denyare useful for local development workflows.
For Rust commands that link against PyTorch, prefer the wrapper:
bash scripts/with-libtorch-env.sh cargo test --workspaceRun the full local gate:
just ci-localjust ci-local runs formatting checks, cargo-deny, training oracle tests,
clippy, Rust workspace tests, and Python pytest. Use the targeted commands below
when you only want one part of the suite:
just fmt-check
just clippy
just test
just training-oracle
just denyRun the centralized server against the sample training config:
bash scripts/with-libtorch-env.sh cargo run -p aether-centralized-server -- \
run \
--state config/aether0-500m/state_distro.toml \
--data-config config/aether0-500m/data.toml \
--server-port 39405 \
--web-port 8081Run a client against that server:
bash scripts/with-libtorch-env.sh cargo run -p aether-centralized-client -- \
train \
--server-addr 127.0.0.1:39405 \
--run-id ds-v3-dense-100m-ufw