Skip to content

Compute Engine Installation

Tribunus Compute is a portable native inference engine designed for Tribunus Desktop and third-party agent frameworks. It uses a compile-time architecture that freezes operator scheduling, memory layout, and kernel selection before execution, eliminating runtime branching.

  • macOS 14+ (Apple Silicon) or Linux (x86_64 with AVX2)
  • 4 GB VRAM minimum; 8 GB+ recommended for larger models
  • Metal (Apple Silicon) or CUDA (NVIDIA) backend

Developer preview. Metal and CUDA backends are in active development. AMD, Intel, and Tenstorrent backends are planned.

macOS (Apple Silicon):

Terminal window
brew install tribunus/tap/tribunus-compute

Or download the .tar.gz from the releases page and extract:

Terminal window
tar -xzf tribunus-compute-*.tar.gz
sudo mv tribunus-compute /usr/local/bin/

Linux (x86_64):

Download the .tar.gz for your platform and extract:

Terminal window
tar -xzf tribunus-compute-linux-*.tar.gz
sudo mv tribunus-compute /usr/local/bin/

Compute runs as a background daemon. The tribunus-compute serve subcommand starts the daemon and exposes the REST API:

Terminal window
# Start on the default port
tribunus-compute serve
# Start with a custom host and port
tribunus-compute serve --host 0.0.0.0 --port 9090
# Start with verbose logging
tribunus-compute serve --log-level debug

The daemon accepts these flags:

FlagDefaultDescription
--host127.0.0.1Bind address for the HTTP server
--port8080Port for the HTTP server
--log-levelinfoLog verbosity: debug, info, warn, error
--configPath to a configuration file (TOML or JSON)
--allow-slower-candidatesfalsePermit kernels slower than the reference baseline (development use)
--oracle-toleranceexactNumerical tolerance tier: exact, approximate, heuristic, unverified
--flush-cachefalseFlush the autotune cache on startup
--data-dir~/.local/share/tribunus/computeDirectory for persistent state, cache, and logs

Bearer tokens authenticate API requests. Generate or configure a token in the configuration file and pass it as the Authorization: Bearer <token> header on every request.

In production, run the daemon as a system service:

Terminal window
# Linux (systemd)
sudo systemctl enable tribunus-compute
sudo systemctl start tribunus-compute
# macOS (launchd)
cp tribunus-compute.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/tribunus-compute.plist

Compute supports a TOML configuration file for persistent settings. By default the daemon looks for ~/.config/tribunus/compute.toml. Use --config to specify an explicit path.

[daemon]
host = "127.0.0.1"
port = 8080
log_level = "info"
data_dir = "~/.local/share/tribunus/compute"
[backends]
metal = { enabled = true }
cuda = { enabled = false }
[autotuning]
cache_path = "/var/cache/tribunus/autotune"
flush_on_start = false
oracle_tolerance = "exact"
allow_slower_candidates = false
[auth]
token = "your-bearer-token"

The equivalent JSON format is also supported:

{
"daemon": { "host": "127.0.0.1", "port": 8080, "log_level": "info" },
"backends": { "metal": { "enabled": true }, "cuda": { "enabled": false } },
"autotuning": { "cache_path": "/var/cache/tribunus/autotune", "flush_on_start": false }
}

Validate your configuration without starting the daemon:

Terminal window
tribunus-compute validate --config /path/to/compute.toml

To confirm the daemon is running and healthy:

Terminal window
curl http://127.0.0.1:8080/health

A successful response returns:

{"status":"ok","version":"0.1.0","backend":"metal"}

The backend field reflects your available hardware (metal on Apple Silicon, cuda on NVIDIA, none if no backend is available).

Load a model and run inference using tribunus-compose:

Terminal window
# Load a model from a local path or Hugging Face identifier
tribunus-compose load --model meta-llama/Llama-3.2-3B
# Run a single inference
tribunus-compose infer --prompt "What is the capital of France?"
# Start an interactive session
tribunus-compose chat

The compose tool manages compute images — compiled representations of model graphs that include frozen operator schedules, memory layouts, and selected kernels. Compute images are cached under the data directory and reused across sessions.

Stop the daemon gracefully with SIGTERM:

Terminal window
kill -TERM $(pgrep tribunus-compute)
# Or, if running in the foreground, press Ctrl+C

The daemon flushes autotune cache entries and writes any pending diagnostic state before shutting down.

SymptomLikely CauseFix
Daemon fails to startPort already in useChange --port or kill the conflicting process
Health check returns backend: noneNo compatible GPU driver foundInstall Metal (macOS) or CUDA driver (Linux)
compile_failed (RZ-0007) in logsKernel rejected by backendRun with --log-level debug, check compiler output
load_failed (RZ-0008) at session startCorrupt compute imageRebuild with tribunus-compose load --force

For a full list of error codes and diagnosis steps, see the Error Reference.

  • Point Tribunus Desktop at your local Compute instance via Settings > Inference Backend > Tribunus Compute.
  • Explore the Compute CLI reference for advanced flags and subcommands.
  • Review the Architecture Decision Records for the design rationale behind the compile-time pipeline.