Skip to content

Latest commit

 

History

History
38 lines (29 loc) · 2 KB

File metadata and controls

38 lines (29 loc) · 2 KB

Shared Crates

shared/ contains the reusable Rust crates that make up the Aether runtime. These crates are used by one or more architecture packages under architectures/.

Crate Map

  • core: common identifiers, fixed-size containers, hashing, Merkle proofs, Bloom filters, shuffling, learning-rate schedules, and batch IDs.
  • coordinator: coordinator state machine, model/run config, client membership, round progression, committee selection, and data assignment.
  • client: common client orchestration used by architecture-specific client binaries.
  • data-provider: local, HTTP, weighted, preprocessed, and optional TCP training data providers.
  • event-sourcing: structured event logging, file backends, tracing bridge, and timeline projections.
  • eval: language-model evaluation harness and benchmark task implementations.
  • inference: experimental inference protocol and optional vLLM bridge.
  • metrics: OpenTelemetry metrics and local TCP metrics serving.
  • modeling: Torch/tch model loading, training, optimization, sampling, and parallelism support.
  • network: Iroh-based networking, gossip, blobs, model sharing, and TCP utilities.
  • tui: Ratatui helpers, render loops, widgets, and logging setup.
  • watcher: backend abstraction that feeds coordinator updates to clients and sends client updates back.
  • test-support: deterministic RNG and serialization helpers for tests.

Common Commands

Run one shared crate:

cargo test -p aether-core

Run the shared crates as part of the full workspace test suite:

bash scripts/with-libtorch-env.sh cargo test --workspace

Crates that depend on Torch, Python, NCCL, or vLLM may need extra environment setup. Use scripts/with-libtorch-env.sh when in doubt.