Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

3.1. Commands

Unified stand-alone launchers sit at the project root: ./juno on Linux/macOS, juno.bat on Windows (delegates to scripts\run.bat). Requires JDK 25+ and pre-built jars (mvn clean package -DskipTests).

All examples in this reference use ./juno. Replace with juno.bat on Windows and use backslashes for paths (for example --model-path models\model.gguf). All flags, environment variables, and subcommands are identical across platforms.

CommandDescription
cluster3-node cluster (default command): forked JVMs, real gRPC. Default --pType pipeline; use --pType tensor for AllReduce mode
localIn-process REPL: all transformer shards in one JVM, no forking, no gRPC
loraLoRA fine-tuning REPL: single in-process JVM, adapter persisted to a .lora file
mergeBake a trained .lora adapter into a new standalone GGUF; no sidecar needed at inference time
test8 automated real-model smoke checks (6 pipeline + 2 tensor); exits 0 if all pass, 1 if any fail

Juno modes topology

The four modes differ in how many OS processes and threads they use and in what each one is for. The diagrams below use --nodes 3 as the example, matching the table above.

local

Single JVM parallelism for the distributed nature of Juno. juno local --nodes 3 starts 4 threads inside one JVM: 1 coordinator thread and 3 node threads.

cluster

cluster is the default command. Separate JVMs run alongside one another on the same machine, so juno --nodes 3 (or juno cluster --nodes 3) starts 4 JVMs on localhost: 1 coordinator JVM and 3 node JVMs, talking over real gRPC. This is the most memory consuming and slowest way to run Juno. For local inference, use local mode instead.

lora

A separate, stand-alone mode for fine-tuning models, with its own set of options. It runs as a single in-process JVM and persists the result to a .lora adapter file. The adapter can then be applied to any Juno mode with --lora-play.

merge

Bakes an adapter file back into the model: model.gguf plus adapter.lora produces merged.gguf. No sidecar .lora file or --lora-play flag is needed at inference time afterward.

See also


<- 2.6 Module Map  |  Table of Contents  |  3.2 Flags ->