Building from Source

Toolchain

TALA pins its Rust toolchain via rust-toolchain.toml at the workspace root. Running any cargo command in the workspace will automatically install the correct version if you use rustup.

cat rust-toolchain.toml

The minimum supported Rust version is 1.82.

Workspace Build

cargo build --workspace

This builds all 12 crates in dependency order. For a release-optimized build:

cargo build --release

Building Individual Crates

Each crate can be built independently:

cargo build -p tala-core
cargo build -p tala-embed
cargo build -p tala-sim

The Simulator Binary

The tala-sim crate produces the only binary in the workspace:

cargo build --release --bin tala-sim

The binary is written to target/release/tala-sim.

Feature Flags

Optional capabilities are gated behind feature flags:

FlagCrateDescription
cudatala-embedCUDA GPU acceleration for batch operations
vulkantala-embedVulkan compute shader support
clustertala-netDistributed clustering features
encryptiontala-netTLS encryption for mesh transport

Default features cover the common single-node case. Enable extras with:

cargo build -p tala-embed --features cuda

Docker Build

The deploy/Dockerfile produces a minimal container image:

docker build -t tala-sim -f deploy/Dockerfile .

The multi-stage build compiles in a full Rust image and copies only the binary into a slim Debian base.

Verifying the Build

cargo test --workspace
cargo clippy --workspace -- -D warnings

All library code is warning-free under clippy. Tests validate serialization roundtrips, graph invariants, and storage durability.