usage: gemma4 -m model.gguf [-f text.txt] [-c n_ctx] [--chunks n] [-t threads]
              [--kl-divergence-base file [--kl-divergence]]
  -f text                  compute perplexity over the text
  -f text --kl-divergence-base F    ... and save base log-probs to F (llama.cpp format)
  --kl-divergence-base F --kl-divergence   compare against F (tokens are read from F)
  -f text --bench P N      prefill/TTFT for the first P tokens of the text, then N greedy decode steps
  -r reps                  repetitions of each --bench test (default 5)
  --depth D                --bench after D tokens of context (the text's first D tokens, run once)
  --kv q8|f16              the KV cache's type (default q8: 8-bit, about half the memory of f16)
  -p prompt [-n N]         greedy continuation of the prompt, N tokens (default 128), streamed
  --tokens                 print the token ids of -p's prompt or -f's text, and exit
  --cache GB               Metal: memory for the expert cache (default: 55% of the experts,
                           at most all but 9 GB; more is faster, less is slower)
  --chat                   chat in Gemma 4's template: with -p one turn, else interactive on stdin
                           (/image FILE, /audio FILE, /video FILE, /clear, /exit); -c context (default
                           4096; 16384 for the E2B / E4B with --mmproj), -n longest reply
  -sys text                a system prompt;  --think: thinking on (default off)
  --mmproj F               the encoders F: images (JPEG, PNG, BMP, GIF), and with the E2B / E4B's also
                           audio (WAV; with the media build MP3, M4A, FLAC, ... too) and video (media
                           build: MP4, MOV, ...: up to 32 frames, at most 1 a second, and the sound)
  --image-tokens N         an image's most tokens (default 280; 70 .. 1120: more for small print)
  --mmproj F --quantize O  write O, F with its weight matrices in Q8_0 (less memory, ~2% less exact)
  --image I, --audio A, --video V   go with the (first) message, in this order; may repeat
  --no-video-audio         videos without their sound (frames only: fewer tokens, 25 a second)
                           (without -m: only encode them; GEMMA4_DUMP_EMBD=file saves the last)
