Gemma 4 E2B

google/gemma-4-E2B-it

2.3B active / 5.1B totalDenseText generationImage → textAudio → textText inputImage inputAudio input

Google · 4 recorded configurations

Measured setup

Hardware

  • 1× RTX 3090 · GPU-resident

Runtime and tool

  • live llama-server

Quantisation

  • UD-Q8_K_XL

MTP draft depth

Every option opens a recorded setup. Where the corpus recorded nothing at this page's other settings, the option names the fields it switches with it. Allocation and runtime detail stay in the technical record below.

1× RTX 3090 · llama.cpp

UD-Q8_K_XL · MTP off

PP · left axisTG · right axis
View exact measurements
Exact context depth and measured fresh prefill, bulk prefix, and decode rates for Gemma 4 E2B
Context depth (tokens)Fresh prefill PP (tok/s)TG (tok/s)
08,986.20155.22
2,0487,943.82152.12
4,0967,668.86149.07
8,1926,809.65142.06
16,3845,817.35136.00
32,7684,507.47123.24
65,5363,073.10104.05
130,2401,888.9879.43

Concurrent-stream measurements

Concurrent-stream throughput at the recorded existing-prefix depth for Gemma 4 E2B
StreamsContext depth (tokens)Aggregate PP (tok/s)Aggregate TG (tok/s)TG / stream (tok/s)Aggregate all (tok/s)
28,1926,360.56239.62119.81663.52
38,1926,077.56306.56102.19856.02
48,1926,319.49339.1884.79961.29
58,1925,519.05383.1676.631,087.53
68,1925,491.42395.1865.861,130.43
78,1925,409.81410.0258.571,177.93
88,1925,321.04425.0453.131,225.01
Technical record and provenance

Source 1 · 2026-10-15

Source run ID
pub-20261016-trpro-gemma-e2b-q8-k-xl-context-2026-10-14-single-gpu-isolated-gpu1-co-scheduled-off-c1
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-off-e969b21132
Entry sweep
context
Raw entry label
Gemma 4 E2B UD-Q8_K_XL — Single GPU — no splitting
Configuration label
Single GPU — no splitting
Measured date
2026-10-15
Hardware
1× NVIDIA GeForce RTX 3090
Runtime
llamaCpp · version: 0.3.0-dev (build 50, commit fc6545d) built with GNU 15.2.0 for Linux x86_64
Weight placement
gpu-resident
Observed devices
CUDA0
Requested devices
CUDA0
Split mode
Single GPU — no splitting
Placement detail
Single GPU — no splitting
KV-cache precision
Q8_0
Flash Attention
Enabled
Requested context per slot
131,072 tokens
Actual context per slot
131,072 tokens
Native model context
131,072 tokens
Batch size
512
Microbatch size
512
Prompt tokens
512
Generated tokens
256
Speculative decoding
None (standard decoding)
Warm-ups
1
Measured repetitions
3
Timing method
server durations aligned to client completion timestamps; aggregate-all uses client wall time
Throughput spreads
KV 0, 1 stream: PP mean 8,986.20 t/s (min 8,972.85, max 9,001.56, SD 11.81, n=3); TG mean 155.22 t/s (min 154.95, max 155.51, SD 0.23, n=3); All mean 441.60 t/s (min 440.92, max 442.35, SD 0.58, n=3) · KV 2,048, 1 stream: PP mean 7,943.82 t/s (min 7,922.02, max 7,969.00, SD 19.33, n=3); TG mean 152.12 t/s (min 151.97, max 152.25, SD 0.11, n=3); All mean 431.24 t/s (min 430.82, max 431.55, SD 0.31, n=3) · KV 4,096, 1 stream: PP mean 7,668.86 t/s (min 7,626.08, max 7,700.17, SD 31.31, n=3); TG mean 149.07 t/s (min 149.04, max 149.12, SD 0.04, n=3); All mean 422.53 t/s (min 422.36, max 422.71, SD 0.14, n=3) · KV 8,192, 1 stream: PP mean 6,809.65 t/s (min 6,740.30, max 6,897.02, SD 65.24, n=3); TG mean 142.06 t/s (min 140.06, max 143.35, SD 1.44, n=3); All mean 401.21 t/s (min 395.85, max 404.12, SD 3.80, n=3) · KV 16,384, 1 stream: PP mean 5,817.35 t/s (min 5,798.87, max 5,827.72, SD 13.10, n=3); TG mean 136.00 t/s (min 135.26, max 136.51, SD 0.53, n=3); All mean 382.37 t/s (min 380.55, max 383.57, SD 1.31, n=3) · KV 32,768, 1 stream: PP mean 4,507.47 t/s (min 4,488.90, max 4,519.34, SD 13.29, n=3); TG mean 123.24 t/s (min 122.94, max 123.62, SD 0.28, n=3); All mean 343.92 t/s (min 343.05, max 344.93, SD 0.78, n=3) · KV 65,536, 1 stream: PP mean 3,073.10 t/s (min 3,062.20, max 3,091.97, SD 13.40, n=3); TG mean 104.05 t/s (min 103.43, max 104.39, SD 0.43, n=3); All mean 286.48 t/s (min 284.88, max 287.36, SD 1.14, n=3) · KV 130,240, 1 stream: PP mean 1,888.98 t/s (min 1,887.43, max 1,890.84, SD 1.41, n=3); TG mean 79.43 t/s (min 79.23, max 79.65, SD 0.17, n=3); All mean 215.36 t/s (min 214.71, max 215.90, SD 0.49, n=3)
Measurement outcomes
0 tokens · 1 stream: measured; 2,048 tokens · 1 stream: measured; 4,096 tokens · 1 stream: measured; 8,192 tokens · 1 stream: measured; 16,384 tokens · 1 stream: measured; 32,768 tokens · 1 stream: measured; 65,536 tokens · 1 stream: measured; 130,240 tokens · 1 stream: measured
Notes
Automated llama-server KV-depth sweep (off, concurrency=1). Existing depth is contextTokens; PP=512, TG=256, warmups=1, repetitions=3, Q8_0 K/V. Arithmetic mean and population standard deviation of measured repetitions. PP/TG server durations are aligned to client completion timestamps for concurrent phase spans; aggregate-all includes SSH/HTTP wall time. Synthetic repeated-token prompts. Engine was reused as installed; no build was performed. Publication projection of reviewed source measurements; values and raw evidence unchanged. Single GPU — no splitting.
Source article
/benchmarks/
Raw log path
research/benchmarks/logs/trpro/2026-10-15-independent-gpus/e2b-context-gpu1

Source 2 · 2026-10-15

Source run ID
pub-20261016-trpro-gemma-e2b-q8-k-xl-concurrency-2026-10-14-single-gpu-isolated-gpu1-co-scheduled-off-c2
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-off-e969b21132
Entry sweep
concurrency
Raw entry label
Gemma 4 E2B UD-Q8_K_XL — Single GPU — no splitting
Configuration label
Single GPU — no splitting
Measured date
2026-10-15
Hardware
1× NVIDIA GeForce RTX 3090
Runtime
llamaCpp · version: 0.3.0-dev (build 50, commit fc6545d) built with GNU 15.2.0 for Linux x86_64
Weight placement
gpu-resident
Observed devices
CUDA0
Requested devices
CUDA0
Split mode
Single GPU — no splitting
Placement detail
Single GPU — no splitting
KV-cache precision
Q8_0
Flash Attention
Enabled
Requested context per slot
9,024 tokens
Actual context per slot
9,216 tokens
Native model context
131,072 tokens
Batch size
512
Microbatch size
512
Prompt tokens
512
Generated tokens
256
Speculative decoding
None (standard decoding)
Warm-ups
1
Measured repetitions
3
Timing method
server durations aligned to client completion timestamps; aggregate-all uses client wall time
Throughput spreads
KV 8,192, 2 streams: PP mean 6,360.56 t/s (min 6,167.15, max 6,474.34, SD 137.47, n=3); TG mean 239.62 t/s (min 234.05, max 242.53, SD 3.93, n=3); All mean 663.52 t/s (min 649.31, max 672.02, SD 10.11, n=3)
Measurement outcomes
8,192 tokens · 2 streams: measured
Notes
Automated llama-server KV-depth sweep (off, concurrency=2). Existing depth is contextTokens; PP=512, TG=256, warmups=1, repetitions=3, Q8_0 K/V. Arithmetic mean and population standard deviation of measured repetitions. PP/TG server durations are aligned to client completion timestamps for concurrent phase spans; aggregate-all includes SSH/HTTP wall time. Synthetic repeated-token prompts. Engine was reused as installed; no build was performed. Publication projection of reviewed source measurements; values and raw evidence unchanged. Single GPU — no splitting.
Source article
/benchmarks/
Raw log path
research/benchmarks/logs/trpro/2026-10-15-independent-gpus/gemma-e2b-q8-k-xl-concurrency-physical1

Source 3 · 2026-10-15

Source run ID
pub-20261016-trpro-gemma-e2b-q8-k-xl-concurrency-2026-10-14-single-gpu-isolated-gpu1-co-scheduled-off-c3
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-off-e969b21132
Entry sweep
concurrency
Raw entry label
Gemma 4 E2B UD-Q8_K_XL — Single GPU — no splitting
Configuration label
Single GPU — no splitting
Measured date
2026-10-15
Hardware
1× NVIDIA GeForce RTX 3090
Runtime
llamaCpp · version: 0.3.0-dev (build 50, commit fc6545d) built with GNU 15.2.0 for Linux x86_64
Weight placement
gpu-resident
Observed devices
CUDA0
Requested devices
CUDA0
Split mode
Single GPU — no splitting
Placement detail
Single GPU — no splitting
KV-cache precision
Q8_0
Flash Attention
Enabled
Requested context per slot
9,024 tokens
Actual context per slot
9,216 tokens
Native model context
131,072 tokens
Batch size
512
Microbatch size
512
Prompt tokens
512
Generated tokens
256
Speculative decoding
None (standard decoding)
Warm-ups
1
Measured repetitions
3
Timing method
server durations aligned to client completion timestamps; aggregate-all uses client wall time
Throughput spreads
KV 8,192, 3 streams: PP mean 6,077.56 t/s (min 6,048.06, max 6,093.56, SD 20.88, n=3); TG mean 306.56 t/s (min 306.06, max 307.12, SD 0.44, n=3); All mean 856.02 t/s (min 854.82, max 857.47, SD 1.10, n=3)
Measurement outcomes
8,192 tokens · 3 streams: measured
Notes
Automated llama-server KV-depth sweep (off, concurrency=3). Existing depth is contextTokens; PP=512, TG=256, warmups=1, repetitions=3, Q8_0 K/V. Arithmetic mean and population standard deviation of measured repetitions. PP/TG server durations are aligned to client completion timestamps for concurrent phase spans; aggregate-all includes SSH/HTTP wall time. Synthetic repeated-token prompts. Engine was reused as installed; no build was performed. Publication projection of reviewed source measurements; values and raw evidence unchanged. Single GPU — no splitting.
Source article
/benchmarks/
Raw log path
research/benchmarks/logs/trpro/2026-10-15-independent-gpus/gemma-e2b-q8-k-xl-concurrency-physical1

Source 4 · 2026-10-15

Source run ID
pub-20261016-trpro-gemma-e2b-q8-k-xl-concurrency-2026-10-14-single-gpu-isolated-gpu1-co-scheduled-off-c4
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-off-e969b21132
Entry sweep
concurrency
Raw entry label
Gemma 4 E2B UD-Q8_K_XL — Single GPU — no splitting
Configuration label
Single GPU — no splitting
Measured date
2026-10-15
Hardware
1× NVIDIA GeForce RTX 3090
Runtime
llamaCpp · version: 0.3.0-dev (build 50, commit fc6545d) built with GNU 15.2.0 for Linux x86_64
Weight placement
gpu-resident
Observed devices
CUDA0
Requested devices
CUDA0
Split mode
Single GPU — no splitting
Placement detail
Single GPU — no splitting
KV-cache precision
Q8_0
Flash Attention
Enabled
Requested context per slot
9,024 tokens
Actual context per slot
9,216 tokens
Native model context
131,072 tokens
Batch size
512
Microbatch size
512
Prompt tokens
512
Generated tokens
256
Speculative decoding
None (standard decoding)
Warm-ups
1
Measured repetitions
3
Timing method
server durations aligned to client completion timestamps; aggregate-all uses client wall time
Throughput spreads
KV 8,192, 4 streams: PP mean 6,319.49 t/s (min 6,310.70, max 6,327.52, SD 6.89, n=3); TG mean 339.18 t/s (min 333.82, max 348.76, SD 6.79, n=3); All mean 961.29 t/s (min 946.59, max 987.12, SD 18.32, n=3)
Measurement outcomes
8,192 tokens · 4 streams: measured
Notes
Automated llama-server KV-depth sweep (off, concurrency=4). Existing depth is contextTokens; PP=512, TG=256, warmups=1, repetitions=3, Q8_0 K/V. Arithmetic mean and population standard deviation of measured repetitions. PP/TG server durations are aligned to client completion timestamps for concurrent phase spans; aggregate-all includes SSH/HTTP wall time. Synthetic repeated-token prompts. Engine was reused as installed; no build was performed. Publication projection of reviewed source measurements; values and raw evidence unchanged. Single GPU — no splitting.
Source article
/benchmarks/
Raw log path
research/benchmarks/logs/trpro/2026-10-15-independent-gpus/gemma-e2b-q8-k-xl-concurrency-physical1

Source 5 · 2026-10-15

Source run ID
pub-20261016-trpro-gemma-e2b-q8-k-xl-concurrency-2026-10-14-single-gpu-isolated-gpu1-co-scheduled-off-c5
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-off-e969b21132
Entry sweep
concurrency
Raw entry label
Gemma 4 E2B UD-Q8_K_XL — Single GPU — no splitting
Configuration label
Single GPU — no splitting
Measured date
2026-10-15
Hardware
1× NVIDIA GeForce RTX 3090
Runtime
llamaCpp · version: 0.3.0-dev (build 50, commit fc6545d) built with GNU 15.2.0 for Linux x86_64
Weight placement
gpu-resident
Observed devices
CUDA0
Requested devices
CUDA0
Split mode
Single GPU — no splitting
Placement detail
Single GPU — no splitting
KV-cache precision
Q8_0
Flash Attention
Enabled
Requested context per slot
9,024 tokens
Actual context per slot
9,216 tokens
Native model context
131,072 tokens
Batch size
512
Microbatch size
512
Prompt tokens
512
Generated tokens
256
Speculative decoding
None (standard decoding)
Warm-ups
1
Measured repetitions
3
Timing method
server durations aligned to client completion timestamps; aggregate-all uses client wall time
Throughput spreads
KV 8,192, 5 streams: PP mean 5,519.05 t/s (min 5,497.78, max 5,541.06, SD 17.67, n=3); TG mean 383.16 t/s (min 378.70, max 385.96, SD 3.19, n=3); All mean 1,087.53 t/s (min 1,076.16, max 1,095.04, SD 8.18, n=3)
Measurement outcomes
8,192 tokens · 5 streams: measured
Notes
Automated llama-server KV-depth sweep (off, concurrency=5). Existing depth is contextTokens; PP=512, TG=256, warmups=1, repetitions=3, Q8_0 K/V. Arithmetic mean and population standard deviation of measured repetitions. PP/TG server durations are aligned to client completion timestamps for concurrent phase spans; aggregate-all includes SSH/HTTP wall time. Synthetic repeated-token prompts. Engine was reused as installed; no build was performed. Publication projection of reviewed source measurements; values and raw evidence unchanged. Single GPU — no splitting.
Source article
/benchmarks/
Raw log path
research/benchmarks/logs/trpro/2026-10-15-independent-gpus/gemma-e2b-q8-k-xl-concurrency-physical1

Source 6 · 2026-10-15

Source run ID
pub-20261016-trpro-gemma-e2b-q8-k-xl-concurrency-2026-10-14-single-gpu-isolated-gpu1-co-scheduled-off-c6
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-off-e969b21132
Entry sweep
concurrency
Raw entry label
Gemma 4 E2B UD-Q8_K_XL — Single GPU — no splitting
Configuration label
Single GPU — no splitting
Measured date
2026-10-15
Hardware
1× NVIDIA GeForce RTX 3090
Runtime
llamaCpp · version: 0.3.0-dev (build 50, commit fc6545d) built with GNU 15.2.0 for Linux x86_64
Weight placement
gpu-resident
Observed devices
CUDA0
Requested devices
CUDA0
Split mode
Single GPU — no splitting
Placement detail
Single GPU — no splitting
KV-cache precision
Q8_0
Flash Attention
Enabled
Requested context per slot
9,024 tokens
Actual context per slot
9,216 tokens
Native model context
131,072 tokens
Batch size
512
Microbatch size
512
Prompt tokens
512
Generated tokens
256
Speculative decoding
None (standard decoding)
Warm-ups
1
Measured repetitions
3
Timing method
server durations aligned to client completion timestamps; aggregate-all uses client wall time
Throughput spreads
KV 8,192, 6 streams: PP mean 5,491.42 t/s (min 5,367.31, max 5,626.13, SD 105.93, n=3); TG mean 395.18 t/s (min 393.38, max 396.65, SD 1.35, n=3); All mean 1,130.43 t/s (min 1,123.68, max 1,133.99, SD 4.77, n=3)
Measurement outcomes
8,192 tokens · 6 streams: measured
Notes
Automated llama-server KV-depth sweep (off, concurrency=6). Existing depth is contextTokens; PP=512, TG=256, warmups=1, repetitions=3, Q8_0 K/V. Arithmetic mean and population standard deviation of measured repetitions. PP/TG server durations are aligned to client completion timestamps for concurrent phase spans; aggregate-all includes SSH/HTTP wall time. Synthetic repeated-token prompts. Engine was reused as installed; no build was performed. Publication projection of reviewed source measurements; values and raw evidence unchanged. Single GPU — no splitting.
Source article
/benchmarks/
Raw log path
research/benchmarks/logs/trpro/2026-10-15-independent-gpus/gemma-e2b-q8-k-xl-concurrency-physical1

Source 7 · 2026-10-15

Source run ID
pub-20261016-trpro-gemma-e2b-q8-k-xl-concurrency-2026-10-14-single-gpu-isolated-gpu1-co-scheduled-off-c7
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-off-e969b21132
Entry sweep
concurrency
Raw entry label
Gemma 4 E2B UD-Q8_K_XL — Single GPU — no splitting
Configuration label
Single GPU — no splitting
Measured date
2026-10-15
Hardware
1× NVIDIA GeForce RTX 3090
Runtime
llamaCpp · version: 0.3.0-dev (build 50, commit fc6545d) built with GNU 15.2.0 for Linux x86_64
Weight placement
gpu-resident
Observed devices
CUDA0
Requested devices
CUDA0
Split mode
Single GPU — no splitting
Placement detail
Single GPU — no splitting
KV-cache precision
Q8_0
Flash Attention
Enabled
Requested context per slot
9,024 tokens
Actual context per slot
9,216 tokens
Native model context
131,072 tokens
Batch size
512
Microbatch size
512
Prompt tokens
512
Generated tokens
256
Speculative decoding
None (standard decoding)
Warm-ups
1
Measured repetitions
3
Timing method
server durations aligned to client completion timestamps; aggregate-all uses client wall time
Throughput spreads
KV 8,192, 7 streams: PP mean 5,409.81 t/s (min 5,405.95, max 5,412.53, SD 2.80, n=3); TG mean 410.02 t/s (min 408.05, max 411.23, SD 1.41, n=3); All mean 1,177.93 t/s (min 1,172.94, max 1,181.17, SD 3.58, n=3)
Measurement outcomes
8,192 tokens · 7 streams: measured
Notes
Automated llama-server KV-depth sweep (off, concurrency=7). Existing depth is contextTokens; PP=512, TG=256, warmups=1, repetitions=3, Q8_0 K/V. Arithmetic mean and population standard deviation of measured repetitions. PP/TG server durations are aligned to client completion timestamps for concurrent phase spans; aggregate-all includes SSH/HTTP wall time. Synthetic repeated-token prompts. Engine was reused as installed; no build was performed. Publication projection of reviewed source measurements; values and raw evidence unchanged. Single GPU — no splitting.
Source article
/benchmarks/
Raw log path
research/benchmarks/logs/trpro/2026-10-15-independent-gpus/gemma-e2b-q8-k-xl-concurrency-physical1

Source 8 · 2026-10-15

Source run ID
pub-20261016-trpro-gemma-e2b-q8-k-xl-concurrency-2026-10-14-single-gpu-isolated-gpu1-co-scheduled-off-c8
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-off-e969b21132
Entry sweep
concurrency
Raw entry label
Gemma 4 E2B UD-Q8_K_XL — Single GPU — no splitting
Configuration label
Single GPU — no splitting
Measured date
2026-10-15
Hardware
1× NVIDIA GeForce RTX 3090
Runtime
llamaCpp · version: 0.3.0-dev (build 50, commit fc6545d) built with GNU 15.2.0 for Linux x86_64
Weight placement
gpu-resident
Observed devices
CUDA0
Requested devices
CUDA0
Split mode
Single GPU — no splitting
Placement detail
Single GPU — no splitting
KV-cache precision
Q8_0
Flash Attention
Enabled
Requested context per slot
9,024 tokens
Actual context per slot
9,216 tokens
Native model context
131,072 tokens
Batch size
512
Microbatch size
512
Prompt tokens
512
Generated tokens
256
Speculative decoding
None (standard decoding)
Warm-ups
1
Measured repetitions
3
Timing method
server durations aligned to client completion timestamps; aggregate-all uses client wall time
Throughput spreads
KV 8,192, 8 streams: PP mean 5,321.04 t/s (min 5,272.83, max 5,391.49, SD 50.93, n=3); TG mean 425.04 t/s (min 421.33, max 426.99, SD 2.62, n=3); All mean 1,225.01 t/s (min 1,217.16, max 1,228.96, SD 5.55, n=3)
Measurement outcomes
8,192 tokens · 8 streams: measured
Notes
Automated llama-server KV-depth sweep (off, concurrency=8). Existing depth is contextTokens; PP=512, TG=256, warmups=1, repetitions=3, Q8_0 K/V. Arithmetic mean and population standard deviation of measured repetitions. PP/TG server durations are aligned to client completion timestamps for concurrent phase spans; aggregate-all includes SSH/HTTP wall time. Synthetic repeated-token prompts. Engine was reused as installed; no build was performed. Publication projection of reviewed source measurements; values and raw evidence unchanged. Single GPU — no splitting.
Source article
/benchmarks/
Raw log path
research/benchmarks/logs/trpro/2026-10-15-independent-gpus/gemma-e2b-q8-k-xl-concurrency-physical1

Compare measured entries