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 2

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,737.11303.45
2,0487,823.18296.97
4,0967,370.16285.59
8,1926,687.51275.05
16,3845,634.61257.86
32,7684,293.49229.06
65,5362,905.51186.85
130,2401,772.35139.38

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,132.83435.00217.501,130.45
38,1925,785.21484.88161.631,280.78
48,1925,223.09519.38129.851,424.84
58,1925,141.09566.45113.291,553.32
68,1924,877.40579.7596.621,619.20
78,1924,861.23590.9984.431,665.00
88,1924,746.11607.5075.941,719.45
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-mtp-2-c1
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-mtp-2-af408889ad
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
MTP · draft max 2
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,737.11 t/s (min 8,727.37, max 8,743.77, SD 7.04, n=3); TG mean 303.45 t/s (min 301.37, max 305.09, SD 1.55, n=3); All mean 821.01 t/s (min 816.31, max 825.19, SD 3.64, n=3) · KV 2,048, 1 stream: PP mean 7,823.18 t/s (min 7,799.77, max 7,850.35, SD 20.82, n=3); TG mean 296.97 t/s (min 296.75, max 297.30, SD 0.24, n=3); All mean 798.55 t/s (min 797.43, max 799.69, SD 0.92, n=3) · KV 4,096, 1 stream: PP mean 7,370.16 t/s (min 7,349.25, max 7,387.31, SD 15.77, n=3); TG mean 285.59 t/s (min 283.89, max 286.83, SD 1.24, n=3); All mean 767.00 t/s (min 764.14, max 770.00, SD 2.40, n=3) · KV 8,192, 1 stream: PP mean 6,687.51 t/s (min 6,634.27, max 6,730.55, SD 39.96, n=3); TG mean 275.05 t/s (min 271.87, max 277.43, SD 2.34, n=3); All mean 735.66 t/s (min 727.67, max 740.84, SD 5.73, n=3) · KV 16,384, 1 stream: PP mean 5,634.61 t/s (min 5,588.48, max 5,690.53, SD 42.23, n=3); TG mean 257.86 t/s (min 256.74, max 259.96, SD 1.49, n=3); All mean 684.01 t/s (min 680.73, max 688.63, SD 3.36, n=3) · KV 32,768, 1 stream: PP mean 4,293.49 t/s (min 4,269.66, max 4,312.31, SD 17.77, n=3); TG mean 229.06 t/s (min 227.72, max 230.60, SD 1.18, n=3); All mean 598.89 t/s (min 596.13, max 603.54, SD 3.31, n=3) · KV 65,536, 1 stream: PP mean 2,905.51 t/s (min 2,883.00, max 2,935.83, SD 22.26, n=3); TG mean 186.85 t/s (min 183.18, max 189.15, SD 2.62, n=3); All mean 479.29 t/s (min 471.02, max 485.20, SD 6.02, n=3) · KV 130,240, 1 stream: PP mean 1,772.35 t/s (min 1,756.50, max 1,781.90, SD 11.29, n=3); TG mean 139.38 t/s (min 139.20, max 139.57, SD 0.15, n=3); All mean 349.08 t/s (min 347.57, max 349.92, SD 1.07, 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 (mtp-2, 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-mtp-2-c2
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-mtp-2-af408889ad
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
MTP · draft max 2
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,132.83 t/s (min 5,969.75, max 6,218.99, SD 115.37, n=3); TG mean 435.00 t/s (min 433.65, max 436.41, SD 1.13, n=3); All mean 1,130.45 t/s (min 1,124.21, max 1,137.09, SD 5.27, n=3)
Measurement outcomes
8,192 tokens · 2 streams: measured
Notes
Automated llama-server KV-depth sweep (mtp-2, 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-mtp-2-c3
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-mtp-2-af408889ad
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
MTP · draft max 2
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 5,785.21 t/s (min 5,635.95, max 6,037.54, SD 179.42, n=3); TG mean 484.88 t/s (min 471.70, max 504.80, SD 14.33, n=3); All mean 1,280.78 t/s (min 1,266.61, max 1,293.23, SD 10.93, n=3)
Measurement outcomes
8,192 tokens · 3 streams: measured
Notes
Automated llama-server KV-depth sweep (mtp-2, 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-mtp-2-c4
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-mtp-2-af408889ad
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
MTP · draft max 2
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 5,223.09 t/s (min 5,075.42, max 5,358.36, SD 115.84, n=3); TG mean 519.38 t/s (min 506.08, max 527.46, SD 9.48, n=3); All mean 1,424.84 t/s (min 1,391.79, max 1,448.55, SD 24.10, n=3)
Measurement outcomes
8,192 tokens · 4 streams: measured
Notes
Automated llama-server KV-depth sweep (mtp-2, 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-mtp-2-c5
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-mtp-2-af408889ad
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
MTP · draft max 2
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,141.09 t/s (min 5,017.50, max 5,244.54, SD 93.78, n=3); TG mean 566.45 t/s (min 561.74, max 575.70, SD 6.54, n=3); All mean 1,553.32 t/s (min 1,544.79, max 1,560.68, SD 6.54, n=3)
Measurement outcomes
8,192 tokens · 5 streams: measured
Notes
Automated llama-server KV-depth sweep (mtp-2, 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-mtp-2-c6
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-mtp-2-af408889ad
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
MTP · draft max 2
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 4,877.40 t/s (min 4,813.90, max 4,934.42, SD 49.42, n=3); TG mean 579.75 t/s (min 570.49, max 584.57, SD 6.55, n=3); All mean 1,619.20 t/s (min 1,595.08, max 1,632.92, SD 17.11, n=3)
Measurement outcomes
8,192 tokens · 6 streams: measured
Notes
Automated llama-server KV-depth sweep (mtp-2, 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-mtp-2-c7
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-mtp-2-af408889ad
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
MTP · draft max 2
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 4,861.23 t/s (min 4,832.35, max 4,908.64, SD 33.79, n=3); TG mean 590.99 t/s (min 570.65, max 605.39, SD 14.79, n=3); All mean 1,665.00 t/s (min 1,609.52, max 1,707.27, SD 40.99, n=3)
Measurement outcomes
8,192 tokens · 7 streams: measured
Notes
Automated llama-server KV-depth sweep (mtp-2, 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-mtp-2-c8
Page entry ID
gemma-4-e2b-ud-q8-k-xl-single-gpu-20261016-mtp-2-af408889ad
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
MTP · draft max 2
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 4,746.11 t/s (min 4,712.90, max 4,765.01, SD 23.56, n=3); TG mean 607.50 t/s (min 594.73, max 615.29, SD 9.11, n=3); All mean 1,719.45 t/s (min 1,686.24, max 1,737.80, SD 23.53, n=3)
Measurement outcomes
8,192 tokens · 8 streams: measured
Notes
Automated llama-server KV-depth sweep (mtp-2, 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