LLAMA-BATCHED-BENCH(1)
π LLAMA-BATCHED-BENCH(1) π β User Commands
okay bestie, welcome to the manual page for llama-batched-bench. yes it's a whole bench, yes it's batched, yes it goes hard π₯. this page is LONG so hydrate, stretch, and let's get into it. every flag, every default, every env var β all of it, no cap. π«Ά
β¨ NAME β¨
llama-batched-bench β llama-batched-bench. that's it. that's the name. she said "my name is my name" and honestly? iconic. π
π¦ DESCRIPTION π¦
π ----- common params ----- π
okay so these are the common params β the shared lil squad of options that basically every llama.cpp tool rolls with. here's the full run-down, no skips, no cuts π
-h,--help,--usageβ prints the usage and then dips. the classic "help me bestie" button. π--versionβ shows the version and the build info. receipts, basically. π§Ύ-cl,--cache-listβ shows the list of models hanging out in cache. hi queens π--completion-bashβ prints a source-able bash completion script for llama.cpp. source it and your tab key becomes lowkey psychic β¨-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. complementscpu-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. complementscpu-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, and0= loaded from model. env:LLAMA_ARG_CTX_SIZE.-n,--predict,--n-predict Nβ number of tokens to predict. default:-1, and-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, and-1= all.--swa-fullβ use full-size SWA cache. default:false. env:LLAMA_ARG_SWA_FULL. there's more info over athttps://github.com/ggml-org/llama.cpp/pull/13194#issuecomment-2868343055π-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 a 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 tolinearunless 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, and0.0= full interpolation. env:LLAMA_ARG_YARN_EXT_FACTOR.--yarn-attn-factor Nβ YaRN: scalesqrt(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 π. 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. env:LLAMA_ARG_LOAD_MODE. the modes are:auto: mmap, unless a device does not support itnone: no special loading modemmap: 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 compressingmmap+mlock: mmap + force system to keep model in RAM rather than swapping or compressingdio: use DirectIO if available
--numa TYPEβ attempt optimizations that help on some NUMA systems:distribute: spread execution evenly over all nodesisolate: only spawn threads on CPUs on the node that execution started onnumactl: 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-devicesto see a list of available devices. env:LLAMA_ARG_DEVICE.--list-devicesβ print list of available devices and exit. window shopping, but make it hardware ποΈ-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 onlylayer(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
-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 (withsplit-mode=none), or for intermediate results and KV (withsplit-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--fitoption. 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]β
and that's where part 1 leaves us bestie, mid-option, on a cliffhanger π. part 2 is pulling up with the rest, so don't go anywhere π«Ά
Docker Hub model repository. repo is optional, default to ai/. quant is optional, default to :latest. example: gemma3 (default: unused) (env: LLAMA_ARG_DOCKER_REPO)
-hf,-hfr,--hf-repo <user>/<model>[:quant]β okay so this is the Hugging Face model repo one πquantis optional, case-insensitive, default toQ4_K_Mβ orrrr it falls back to the first file in the repo ifQ4_K_Mdoesn't exist.mmprojis also downloaded automatically if available. wanna turn that off? add--no-mmproj. 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 specified, it will override the quant in--hf-repo(default: unused) (env:LLAMA_ARG_HF_FILE)-hft,--hf-token TOKENβ Hugging Face access token (default: value fromHF_TOKENenvironment variable) (env:HF_TOKEN) π--log-disableβ Log disable. yeah. that's the whole vibe π«--log-file FNAMEβ Log to file (env:LLAMA_ARG_LOG_FILE) π--log-colors [on|off|auto]β Set colored logging ('on','off', or'auto', default:'auto').'auto'enables colors when output is to a terminal (env:LLAMA_ARG_LOG_COLORS) π-v,--verbose,--log-verboseβ Set verbosity level to infinity (i.e. log all messages, useful for debugging). literally infinity, bestie, she said what she said π--offlineβ Offline mode: forces use of cache, prevents network access (env:LLAMA_ARG_OFFLINE) βοΈ-lv,--verbosity,--log-verbosity Nβ Set the verbosity threshold. Messages with a higher verbosity will be ignored. Values:0: generic output1: error2: warning3: info4: 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β 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β 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 π
--samplers SAMPLERSβ samplers that will be used for generation, in the order they'll be applied, 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, use random seed for-1)--sampler-seq,--sampling-seq SEQUENCEβ simplified sequence for samplers that will be used (default:edskypmxt) β¨--ignore-eosβ ignore end of stream token and continue generating (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 penalize (default:64,0= disabled)--repeat-penalty Nβ penalize 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 DRY sampling multiplier (default:0.00,0.0= disabled)--dry-base Nβ set DRY sampling base value (default:1.75)--dry-allowed-length Nβ set allowed length for DRY sampling (default:2)--dry-penalty-last-n Nβ set DRY penalty for the last n tokens (default:64,0= disable)--dry-sequence-breaker STRINGβ add sequence breaker for DRY sampling, clearing out default breakers ('\n',':','"','*') in the process; use"none"to not use any sequence breakers π§--adaptive-target Nβ adaptive-p: select tokens near this probability (valid range0.0to1.0; negative = disabled) (default:-1.00) [(more info)](https://github.com/ggml-org/llama.cpp/pull/17927)--adaptive-decay Nβ adaptive-p: decay rate for target adaptation over time. lower values are more reactive, higher values are more stable. (valid range0.0to0.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. Top K, Nucleus and Locally Typical samplers are ignored if used. (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 token appearing in the completion, i.e.--logit-bias 15043+1to increase likelihood of token' Hello', or--logit-bias 15043-1to decrease likelihood of token' Hello'ποΈ--grammar GRAMMARβ BNF-like grammar to constrain generations (see samples ingrammars/dir)--grammar-file FNAMEβ file to read 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.pyinstead π§¬-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.pyinstead-bs,--backend-samplingβ enable backend sampling (experimental) (default: disabled) (env:LLAMA_ARG_BACKEND_SAMPLING)
π§ͺ example-specific params π§ͺ
-kvu,--kv-unified,-no-kvu,--no-kv-unifiedβ use single unified KV buffer shared across all sequences (default: enabled if number of slots is auto) (env:LLAMA_ARG_KV_UNIFIED)-ppsβ is the prompt shared across parallel sequences (default: false)-tgsβ is the text generation separated across the different sequences (default: false)-npp n0,n1,...β number of prompt tokens-ntg n0,n1,...β number of text generation tokens-npl n0,n1,...β number of parallel prompts--output-format {md,jsonl}β output format for batched-bench results (default:md) π
example usage: (save this, bestie, it's the whole point π«Ά)
llama-batched-bench -m model.gguf -c 2048 -b 2048 -ub 512 -npp 128,256,512 -ntg 128,256 -npl 1,2,4,8,16,32 [-pps]
and that's the page, babe π this little beauty ships as debian, dated September 2026, and she answers to the name LLAMA-BATCHED-BENCH(1). go forth and benchmark, mwah π
π¦ where this page comes from
- ubuntu stonking: llama.cpp-tools-extra 10438+dfsg-1ubuntu1 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms