No description
Find a file
Zachery Aaron Shores-Chmielewski 8e4987618f feat: Working vastai single-node deployment for LLM inference
Add a complete single-GPU distributed-inference example that rents a vast.ai GPU, boots a worker container, and runs a prompt end-to-end over iroh/SWIM.

- examples/single-gpu-inference: add the `single_gpu_inference` orchestrator binary that starts a local iroh node, waits for the remote gpu-node to register the `"inference"` SWIM name, then sends an `InferenceRequest` and prints the response
- examples/single-gpu-inference: add the `gpu_node` binary that joins the cluster via `SEED_ADDR`, spawns an `InferenceActor` over `tinygrad_worker.py`, and registers the `"inference"` bridge
- inference_actor: bridge swactor messaging to a Python child process via stdin/stdout JSON, with `ProcessBridge`/`RequestBridge` adapters that satisfy the single-`Incoming` actor constraint
- iroh_transport: add `IrohActorTransport` that sends `WireEnvelope`s over iroh QUIC uni-streams (connection-cached against early close), plus wire encode/decode and an inbound drain helper
- vastai: add a vast.ai REST client (`find_offer` with reliability/cuda/geo filters excluding CN, `create_instance`, `wait_for_running`, `destroy_instance`) parameterised by a mockable `base_url`
- worker/docs/tests: ship `tinygrad_worker.py`/`echo_worker.py` (newline-JSON, `--stub`/`--model` defaulting to llama3.2:1b), a Dockerfile, Makefile, SPEC, and actor/codec/cluster/integration/vastai test suites

Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
2026-05-14 11:19:28 +04:00
.cargo feat: content addressed datastore (#41) 2026-02-15 17:03:31 +00:00
.deploy feat: stability for deployment and distribution (#44) 2026-02-19 14:39:33 +00:00
benches fix: reduce idle cpu, gossip noise, stability (#51) 2026-02-25 11:11:03 +00:00
ci feat: stability for deployment and distribution (#44) 2026-02-19 14:39:33 +00:00
crates refactor: remove dead code, consolidate files (#52) 2026-02-25 14:33:04 +00:00
examples/single-gpu-inference feat: Working vastai single-node deployment for LLM inference 2026-05-14 11:19:28 +04:00
fuzz refactor: consolidate crate functions (#50) 2026-02-24 09:12:28 +00:00
src feat: guarantees on runtime execution (#53) 2026-03-28 05:08:58 +00:00
tests feat: guarantees on runtime execution (#53) 2026-03-28 05:08:58 +00:00
xtask refactor: consolidate crate functions (#50) 2026-02-24 09:12:28 +00:00
.dockerignore feat: Working vastai single-node deployment for LLM inference 2026-05-14 11:19:28 +04:00
.gitignore feat: guarantees on runtime execution (#53) 2026-03-28 05:08:58 +00:00
Cargo.lock refactor: remove dead code, consolidate files (#52) 2026-02-25 14:33:04 +00:00
Cargo.toml feat: Working vastai single-node deployment for LLM inference 2026-05-14 11:19:28 +04:00
Dockerfile feat: stability for deployment and distribution (#44) 2026-02-19 14:39:33 +00:00
README.md refactor: consolidate crate functions (#50) 2026-02-24 09:12:28 +00:00

swactor

Minimal actor runtime for Rust. One trait, one message type. Single-threaded (tick()) or multi-threaded (run()).

Description

Core runtime is src/. Actors implement ActorInterface (in actor.rs), interact through Ctx (in runtime.rs), and run on worker threads (worker.rs).

crates/ builds upward: std adds OTP patterns (supervision, monitoring, groups), distribution adds clustering, everything else composes from there.

Dev commands

cargo xtask --help for available test groups.

Testing

cargo check --workspace
cargo xtask test <your-feature-crate>
cargo xtask test essential