LLAMA-PARALLEL(1)

πŸ“¦
version 10438 Β· 2 versions
, in ubuntu stonking

✨ NAME ✨

llama-parallel β€” yeah bestie, the name is literally llama-parallel. No notes, it said what it said. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so, this is the page for llama-parallel, coming at you from the User Commands crew, and it is long β€” like, get a snack, get a drink, get comfy long. We're gonna walk through every single knob and switch this thing has, one by one, and yes we're keeping all of them. No skipping. Every flag is somebody's fave. 🫢

🌈 ----- common params ----- 🌈

These are the shared, everyday settings β€” the ones basically every llama.cpp-flavoured thing is gonna hand you. Let's go down the list. πŸŽ€

  • -h, --help, --usage β€” prints the usage and then exits. That's it, that's the whole job. ✨
  • --version β€” shows the version and the build info. Know what you're running, bestie, it's a vibe check for your binary.
  • -cl, --cache-list β€” shows the list of models chillin' in your cache.
  • --completion-bash β€” prints a source-able bash completion script for llama.cpp. Tab-tab-tab your way to greatness. 🧚
  • -t, --threads N β€” number of CPU threads to use during generation (default: <num_cpus>). Env: LLAMA_ARG_THREADS.
  • -tb, --threads-batch N β€” number of threads to use during batch and prompt processing (default: same as --threads).
  • -C, --cpu-mask M β€” CPU affinity mask: arbitrarily long hex. Complements cpu-range (default: "").
  • -Cr, --cpu-range lo-hi β€” range of CPUs for affinity. Complements --cpu-mask.
  • --cpu-strict <0|1> β€” use strict CPU placement (default: 0).
  • --prio N β€” set process/thread priority: low(-1), normal(0), medium(1), high(2), realtime(3) (default: 0).
  • --poll <0...100> β€” use polling level to wait for work (0 - no polling, default: 50).
  • -Cb, --cpu-mask-batch M β€” CPU affinity mask: arbitrarily long hex. Complements cpu-range-batch (default: same as --cpu-mask).
  • -Crb, --cpu-range-batch lo-hi β€” ranges of CPUs for affinity. Complements --cpu-mask-batch.
  • --cpu-strict-batch <0|1> β€” use strict CPU placement (default: same as --cpu-strict).
  • --prio-batch N β€” set process/thread priority: 0-normal, 1-medium, 2-high, 3-realtime (default: 0).
  • --poll-batch <0|1> β€” use polling to wait for work (default: same as --poll).
  • -c, --ctx-size N β€” size of the prompt context (default: 0, 0 = loaded from model). Env: LLAMA_ARG_CTX_SIZE.
  • -n, --predict, --n-predict N β€” number of tokens to predict (default: 128, -1 = infinity). Env: LLAMA_ARG_N_PREDICT.
  • -b, --batch-size N β€” logical maximum batch size (default: 2048). Env: LLAMA_ARG_BATCH.
  • -ub, --ubatch-size N β€” physical maximum batch size (default: 512). Env: LLAMA_ARG_UBATCH.
  • --keep N β€” number of tokens to keep from the initial prompt (default: 0, -1 = all).
  • --swa-full β€” use full-size SWA cache (default: false). More info over at https://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055. Env: LLAMA_ARG_SWA_FULL.
  • -fa, --flash-attn [on|off|auto] β€” set Flash Attention use ('on', 'off', or 'auto', default: 'auto'). Env: LLAMA_ARG_FLASH_ATTN.
  • -p, --prompt PROMPT β€” prompt to start generation with; for the system message, use -sys.
  • --perf, --no-perf β€” whether to enable internal libllama performance timings (default: false). Env: LLAMA_ARG_PERF.
  • -f, --file FNAME β€” a file containing the prompt (default: none).
  • -bf, --binary-file FNAME β€” binary file containing the prompt (default: none).
  • -e, --escape, --no-escape β€” whether to process escapes sequences (\n, \r, \t, \', \", \\) (default: true).
  • --rope-scaling {none,linear,yarn} β€” RoPE frequency scaling method, defaults to linear unless specified by the model. Env: LLAMA_ARG_ROPE_SCALING_TYPE.
  • --rope-scale N β€” RoPE context scaling factor, expands context by a factor of N. Env: LLAMA_ARG_ROPE_SCALE.
  • --rope-freq-base N β€” RoPE base frequency, used by NTK-aware scaling (default: loaded from model). Env: LLAMA_ARG_ROPE_FREQ_BASE.
  • --rope-freq-scale N β€” RoPE frequency scaling factor, expands context by a factor of 1/N. Env: LLAMA_ARG_ROPE_FREQ_SCALE.
  • --yarn-orig-ctx N β€” YaRN: original context size of model (default: 0 = model training context size). Env: LLAMA_ARG_YARN_ORIG_CTX.
  • --yarn-ext-factor N β€” YaRN: extrapolation mix factor (default: -1.00, 0.0 = full interpolation). Env: LLAMA_ARG_YARN_EXT_FACTOR.
  • --yarn-attn-factor N β€” YaRN: scale sqrt(t) or attention magnitude (default: -1.00). Env: LLAMA_ARG_YARN_ATTN_FACTOR.
  • --yarn-beta-slow N β€” YaRN: high correction dim or alpha (default: -1.00). Env: LLAMA_ARG_YARN_BETA_SLOW.
  • --yarn-beta-fast N β€” YaRN: low correction dim or beta (default: -1.00). Env: LLAMA_ARG_YARN_BETA_FAST.
  • -kvo, --kv-offload, -nkvo, --no-kv-offload β€” whether to enable KV cache offloading (default: enabled). Env: LLAMA_ARG_KV_OFFLOAD.
  • --repack, -nr, --no-repack β€” whether to enable weight repacking (default: enabled). Env: LLAMA_ARG_REPACK.
  • --no-host β€” bypass host buffer allowing extra buffers to be used. Env: LLAMA_ARG_NO_HOST.
  • -ctk, --cache-type-k TYPE β€” KV cache data type for K. Allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1 (default: f16). Env: LLAMA_ARG_CACHE_TYPE_K.
  • -ctv, --cache-type-v TYPE β€” KV cache data type for V. Allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1 (default: f16). Env: LLAMA_ARG_CACHE_TYPE_V.
  • -dt, --defrag-thold N β€” KV cache defragmentation threshold. ⚠️ DEPRECATED, bestie, it's giving legacy. Env: LLAMA_ARG_DEFRAG_THOLD.
  • -np, --parallel N β€” number of parallel sequences to decode (default: 1). Env: LLAMA_ARG_N_PARALLEL.
  • --mlock β€” ⚠️ DEPRECATED in favor of --load-mode: force system to keep model in RAM rather than swapping or compressing. Env: LLAMA_ARG_MLOCK.
  • --mmap, --no-mmap β€” ⚠️ DEPRECATED in favor of --load-mode: whether to memory-map model. (if mmap disabled, slower load but may reduce pageouts if not using mlock). Env: LLAMA_ARG_MMAP.
  • -dio, --direct-io, -ndio, --no-direct-io β€” ⚠️ DEPRECATED in favor of --load-mode: use DirectIO if available. Env: LLAMA_ARG_DIO.
  • -lm, --load-mode MODE β€” model loading mode (default: auto). The options are:
    • auto: mmap, unless a device does not support it
    • none: no special loading mode
    • mmap: memory-map model (if mmap disabled, slower load but may reduce pageouts if not using mlock)
    • mlock: force system to keep model in RAM rather than swapping or compressing
    • mmap+mlock: mmap + force system to keep model in RAM rather than swapping or compressing
    • dio: use DirectIO if available

Env: LLAMA_ARG_LOAD_MODE.

  • --numa TYPE β€” attempt optimizations that help on some NUMA systems. The flavours are:
    • distribute: spread execution evenly over all nodes
    • isolate: only spawn threads on CPUs on the node that execution started on
    • numactl: use the CPU map provided by numactl

If run without this previously, it is recommended to drop the system page cache before using this β€” see https://github.com/ggml-org/llama.cpp/issues/1437. Env: LLAMA_ARG_NUMA.

  • -dev, --device <dev1,dev2,..> β€” comma-separated list of devices to use for offloading (none = don't offload). Use --list-devices to see a list of available devices. Env: LLAMA_ARG_DEVICE.
  • --list-devices β€” print list of available devices and exit.
  • -ot, --override-tensor <tensor name pattern>=<buffer type>,... β€” override tensor buffer type. Env: LLAMA_ARG_OVERRIDE_TENSOR.
  • -cmoe, --cpu-moe β€” keep all Mixture of Experts (MoE) weights in the CPU. Env: LLAMA_ARG_CPU_MOE.
  • -ncmoe, --n-cpu-moe N β€” keep the Mixture of Experts (MoE) weights of the first N layers in the CPU. Env: LLAMA_ARG_N_CPU_MOE.
  • -ngl, --gpu-layers, --n-gpu-layers N β€” max. number of layers to store in VRAM, either an exact number, 'auto', or 'all' (default: auto). Env: LLAMA_ARG_N_GPU_LAYERS.
  • -sm, --split-mode {none,layer,row,tensor} β€” how to split the model across multiple GPUs, one of:
    • none: use one GPU only
    • layer (default): split layers and KV across GPUs (pipelined)
    • row: split weight across GPUs by rows (parallelized)
    • tensor: split weights and KV across GPUs (parallelized, EXPERIMENTAL)

Env: LLAMA_ARG_SPLIT_MODE.

Heads up: tensor split mode is marked EXPERIMENTAL in the original, so treat it like a mystery flavour and don't be shocked if it's weird. πŸ’€
  • -ts, --tensor-split N0,N1,N2,... β€” fraction of the model to offload to each GPU, comma-separated list of proportions, e.g. 3,1. Env: LLAMA_ARG_TENSOR_SPLIT.
  • -mg, --main-gpu INDEX β€” the GPU to use for the model (with split-mode = none), or for intermediate results and KV (with split-mode = row) (default: 0). Env: LLAMA_ARG_MAIN_GPU.
  • -fit, --fit [on|off] β€” whether to adjust unset arguments to fit in device memory ('on' or 'off', default: 'on'). Env: LLAMA_ARG_FIT.
  • -fitt, --fit-target MiB0,MiB1,MiB2,... β€” target margin per device for --fit, comma-separated list of values, single value is broadcast across all devices, default: 1024. Env: LLAMA_ARG_FIT_TARGET.
  • -fitc, --fit-ctx N β€” minimum ctx size that can be set by --fit option, default: 4096. Env: LLAMA_ARG_FIT_CTX.
  • --check-tensors β€” check model tensor data for invalid values (default: false).
  • --override-kv KEY=TYPE:VALUE,... β€” advanced option to override model metadata by key. To specify multiple overrides, either use comma-separated values. Types: int, float, bool, str. Example:
--override-kv tokenizer.ggml.add_bos_token=bool:false,tokenizer.ggml.add_eos_token=bool:false
  • --op-offload, --no-op-offload β€” whether to offload host tensor operations to device (default: true).
  • --lora FNAME β€” path to LoRA adapter (use comma-separated values to load multiple adapters).
  • --lora-scaled FNAME:SCALE,... β€” path to LoRA adapter with user defined scaling (format: FNAME:SCALE,...). Note: use comma-separated values.
  • --control-vector FNAME β€” add a control vector. Note: use comma-separated values to add multiple control vectors.
  • --control-vector-scaled FNAME:SCALE,... β€” add a control vector with user defined scaling SCALE. Note: use comma-separated values (format: FNAME:SCALE,...).
  • --control-vector-layer-range START END β€” layer range to apply the control vector(s) to, start and end inclusive.
  • -m, --model FNAME β€” model path to load. Env: LLAMA_ARG_MODEL.
  • -mu, --model-url MODEL_URL β€” model download url (default: unused). Env: LLAMA_ARG_MODEL_URL.
  • -dr, --docker-repo [<repo>/]<model>[:quant]

Docker Hub model repository. repo is optional, and it defaults to ai/. quant is optional too, and defaults to :latest. Example: gemma3 (default: unused) (env: LLAMA_ARG_DOCKER_REPO).

  • -hf, -hfr, --hf-repo <user>/<model>[:quant] β€” bestie, this is your Hugging Face model repo pull 😌 the quant part is optional and case-insensitive, defaults to Q4_K_M, and if Q4_K_M doesn't exist it falls back to the first file in the repo. mmproj gets downloaded automatically too if it's available β€” add --no-mmproj if you want that off. Example: ggml-org/GLM-4.7-Flash-GGUF:Q4_K_M (default: unused) (env: LLAMA_ARG_HF_REPO).
  • -hff, --hf-file FILE β€” Hugging Face model file. If you set this, it overrides the quant that's in --hf-repo (default: unused) (env: LLAMA_ARG_HF_FILE).
  • -hft, --hf-token TOKEN β€” your Hugging Face access token (default: the value from the HF_TOKEN environment variable) (env: HF_TOKEN).
  • --log-disable β€” log disable πŸš«πŸ“
  • --log-file FNAME β€” log to a file (env: LLAMA_ARG_LOG_FILE).
  • --log-colors [on|off|auto] β€” set colored logging ('on', 'off', or 'auto', default: 'auto'). 'auto' turns colors on when the output is a terminal (env: LLAMA_ARG_LOG_COLORS). 🌈
  • -v, --verbose, --log-verbose β€” sets verbosity level to infinity (i.e. logs all the messages, lowkey so useful for debugging).
  • --offline β€” offline mode: forces use of the cache, prevents network access (env: LLAMA_ARG_OFFLINE). Airplane mode but make it llama ✈️
  • -lv, --verbosity, --log-verbosity N β€” sets the verbosity threshold. Messages with a higher verbosity get ignored. Values:
    • 0: generic output
    • 1: error
    • 2: warning
    • 3: info
    • 4: trace (more info)
    • 5: debug

(default: 3) (env: LLAMA_ARG_LOG_VERBOSITY)

  • --log-prefix, --no-log-prefix β€” enable prefix in log messages (env: LLAMA_ARG_LOG_PREFIX).
  • --log-timestamps, --no-log-timestamps β€” enable timestamps in log messages (env: LLAMA_ARG_LOG_TIMESTAMPS). ⏰
  • --spec-draft-type-k, -ctkd, --cache-type-k-draft TYPE β€” the KV cache data type for K, for the draft model. Allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1 (default: f16) (env: LLAMA_ARG_SPEC_DRAFT_CACHE_TYPE_K).
  • --spec-draft-type-v, -ctvd, --cache-type-v-draft TYPE β€” the KV cache data type for V, for the draft model. Allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1 (default: f16) (env: LLAMA_ARG_SPEC_DRAFT_CACHE_TYPE_V).

πŸŽ€ ----- sampling params ----- πŸŽ€

this is where the whole personality of your model lives, no cap

  • --samplers SAMPLERS β€” the samplers that will be used for generation, in order, separated by ; (default: penalties;dry;top_n_sigma;top_k;typ_p;top_p;min_p;xtc;temperature).
  • -s, --seed SEED β€” RNG seed (default: -1, and -1 means use a random seed 🎲).
  • --sampler-seq, --sampling-seq SEQUENCE β€” the simplified sequence for the samplers that will be used (default: edskypmxt).
  • --ignore-eos β€” ignore the end of stream token and keep generating (this implies --logit-bias EOS-inf). She does not know how to stop πŸ’€
  • --temp, --temperature N β€” temperature (default: 0.80).
  • --top-k N β€” top-k sampling (default: 40, 0 = disabled) (env: LLAMA_ARG_TOP_K).
  • --top-p N β€” top-p sampling (default: 0.95, 1.0 = disabled).
  • --min-p N β€” min-p sampling (default: 0.05, 0.0 = disabled).
  • --top-nsigma, --top-n-sigma N β€” top-n-sigma sampling (default: -1.00, -1.0 = disabled).
  • --xtc-probability N β€” xtc probability (default: 0.00, 0.0 = disabled).
  • --xtc-threshold N β€” xtc threshold (default: 0.10, 1.0 = disabled).
  • --typical, --typical-p N β€” locally typical sampling, parameter p (default: 1.00, 1.0 = disabled).
  • --repeat-last-n N β€” last n tokens to consider for penalization (default: 64, 0 = disabled).
  • --repeat-penalty N β€” penalize a repeat sequence of tokens (default: 1.00, 1.0 = disabled).
  • --presence-penalty N β€” repeat alpha presence penalty (default: 0.00, 0.0 = disabled).
  • --frequency-penalty N β€” repeat alpha frequency penalty (default: 0.00, 0.0 = disabled).
  • --dry-multiplier N β€” set the DRY sampling multiplier (default: 0.00, 0.0 = disabled).
  • --dry-base N β€” set the DRY sampling base value (default: 1.75).
  • --dry-allowed-length N β€” set the allowed length for DRY sampling (default: 2).
  • --dry-penalty-last-n N β€” set the DRY penalty for the last n tokens (default: 64, 0 = disable).
  • --dry-sequence-breaker STRING β€” add a sequence breaker for DRY sampling, which clears out the default breakers ('\n', ':', '"', '*') in the process; use "none" to not use any sequence breakers at all.
  • --adaptive-target N β€” adaptive-p: select tokens near this probability (valid range 0.0 to 1.0; negative = disabled) (default: -1.00) [https://github.com/ggml-org/llama.cpp/pull/17927](more info).
  • --adaptive-decay N β€” adaptive-p: decay rate for target adaptation over time. Lower values are more reactive, higher values are more stable. (valid range 0.0 to 0.99) (default: 0.90).
  • --dynatemp-range N β€” dynamic temperature range (default: 0.00, 0.0 = disabled).
  • --dynatemp-exp N β€” dynamic temperature exponent (default: 1.00).
  • --mirostat N β€” use Mirostat sampling. Heads up: Top K, Nucleus and Locally Typical samplers are ignored if you use this. (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0).
  • --mirostat-lr N β€” Mirostat learning rate, parameter eta (default: 0.10).
  • --mirostat-ent N β€” Mirostat target entropy, parameter tau (default: 5.00).
  • -l, --logit-bias TOKEN_ID(+/-)BIAS β€” modifies the likelihood of a token appearing in the completion, i.e. --logit-bias 15043+1 to increase the likelihood of token ' Hello', or --logit-bias 15043-1 to decrease the likelihood of token ' Hello'. 🎚️
  • --grammar GRAMMAR β€” a BNF-like grammar to constrain generations (see the samples in the grammars/ dir).
  • --grammar-file FNAME β€” file to read the grammar from.
  • -j, --json-schema SCHEMA β€” JSON schema to constrain generations (https://json-schema.org/), e.g. {} for any JSON object. For schemas w/ external $refs, use --grammar + example/json_schema_to_grammar.py instead.
  • -jf, --json-schema-file FILE β€” file containing a JSON schema to constrain generations (https://json-schema.org/), e.g. {} for any JSON object. For schemas w/ external $refs, use --grammar + example/json_schema_to_grammar.py instead.
  • -bs, --backend-sampling β€” enable backend sampling (experimental, bestie, watch yourself) (default: disabled) (env: LLAMA_ARG_BACKEND_SAMPLING).

✨ ----- example-specific params ----- ✨

  • -kvu, --kv-unified, -no-kvu, --no-kv-unified β€” use a single unified KV buffer shared across all sequences (default: enabled if the number of slots is auto) (env: LLAMA_ARG_KV_UNIFIED).
  • -ns, --sequences N β€” number of sequences to decode (default: 1).
  • --junk N β€” number of times to repeat the junk text (default: 1).
  • -pps β€” is the prompt shared across parallel sequences (default: false).
  • -tgs β€” is the text generation separated across the different sequences (default: false).

okay that's the whole page, and yes, you read all of it, I'm so proud of you πŸ₯Ή This one's from the debian crew, dated September 2026, and it lives in section 1 of LLAMA-PARALLEL β€” go forth and parallelize, bestie, you got this πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from