DOCEO LAB · Local AI · Test #001

Gemma 3 1B on a GTX 1060 3GB

A reproducible Local AI test on an older 3 GB Pascal GPU: model placement, observed GPU memory and three measured API generation runs.

UPDATED SEP 18, 2026 · MEASURED · TESTED
E—DOCEO VERIFIED
Reproduced by E—DOCEO on September 18, 2026. Three API generation runs were recorded on the documented Windows test machine.
E—DOCEO VERIFIED · SEP 18, 2026
66.99median generation tok/s
100%GPU reported by Ollama
4096active context

Result

In this test, Gemma 3 1B Q4_K_M ran entirely on the NVIDIA GeForce GTX 1060 3GB according to ollama ps, which reported 100% GPU. With an active context of 4096, three API generation runs measured 66.99, 67.14 and 66.13 tokens/second. The median generation throughput was 66.99 tok/s.

This result applies to the exact environment below. It is not a claim that every GTX 1060 3GB system, driver, context size or Ollama release will produce the same speed.

Test environment

Component Recorded configuration
Test date September 18, 2026
OS Windows 10 Pro, build 19045
CPU AMD Ryzen 5 2600, 6 cores / 12 threads
RAM 31.9 GB
GPU NVIDIA GeForce GTX 1060 3GB
GPU memory 3072 MiB
NVIDIA driver 577.00
CUDA version reported by nvidia-smi 12.9
Driver model WDDM
Ollama 0.34.2

CUDA Version: 12.9 above is the compatibility version reported by nvidia-smi; this test did not independently establish that a CUDA Toolkit was installed.

Model configuration

ollama show gemma3:1b reported:

Field Value
Model gemma3:1b
Model ID observed in ollama ps 8648f39daa8f
Architecture gemma3
Parameters 999.89M
Quantization Q4_K_M
Context length reported by model 32768
Loaded size reported by ollama ps 877 MB
Active context in test 4096
Processor placement 100% GPU

The distinction between the model's reported context capability and the 4096 active context matters: memory and performance can change when context settings change.

Method

The Windows installation was first checked layer by layer: Ollama version, empty local model list, local /api/tags response, model download, CLI inference, ollama ps, and nvidia-smi. The benchmark then used Ollama's local POST /api/generate endpoint with stream: false, temperature: 0 and num_ctx: 4096.

The prompt was kept identical:

Benchmark prompt
Explain in about 150 words what a local large language model is and give three practical reasons for running one locally.

Generation throughput is calculated from Ollama's returned eval_count and eval_duration:

generation tok/s = eval_count / (eval_duration / 1e9)

Ollama documents eval_count as the number of generated output tokens and eval_duration as token-generation time in nanoseconds. This makes the measurement independent of a hand-operated stopwatch.

Three generation runs

Run Prompt tokens Output tokens Generation Total request
1 35 195 66.99 tok/s 3.072 s
2 35 192 67.14 tok/s 2.904 s
3 35 192 66.13 tok/s 2.943 s
Median 66.99 tok/s 2.943 s

The maximum-to-minimum spread in generation throughput was about 1.5%. That is useful evidence of short-run consistency, but three runs are still a small sample.

Prompt-processing rates were 281.87, 989.09 and 1089.90 tok/s. We do not use those values as the headline benchmark: the prompt contained only 35 tokens and the first request occurred under a different runtime/cache state, making that comparison less useful.

Observed GPU memory

nvidia-smi snapshots showed:

State Total GPU memory in use
Baseline before model load 626 MiB / 3072 MiB
Model loaded 1574 MiB / 3072 MiB
After benchmark 1624 MiB / 3072 MiB
Observed baseline → post-benchmark delta +998 MiB

This is deliberately labelled observed GPU memory, not “the model requires 998 MiB of VRAM.” Under Windows/WDDM, nvidia-smi was reporting aggregate GPU memory while the desktop and other applications were also active. The snapshots establish system-level memory use around this test, not an isolated per-model allocation.

The post-benchmark nvidia-smi process list did show llama-server.exe as a compute process, while ollama ps independently reported 100% GPU.

Reproduce the benchmark

After installing Ollama and downloading gemma3:1b, this PowerShell request reproduces the benchmark configuration:

PowerShell
$body = @{
    model  = "gemma3:1b"
    prompt = "Explain in about 150 words what a local large language model is and give three practical reasons for running one locally."
    stream = $false
    options = @{
        temperature = 0
        num_ctx = 4096
    }
} | ConvertTo-Json

$r = Invoke-RestMethod -Method Post -Uri http://localhost:11434/api/generate -ContentType "application/json" -Body $body

[math]::Round($r.eval_count / ($r.eval_duration / 1e9), 2)

Record the runtime at the same time:

PowerShell
ollama ps
nvidia-smi
ollama show gemma3:1b

For a comparable result, keep the model tag, context, prompt and generation settings unchanged and record your Ollama and driver versions.

Limitations

This is a single-machine test, not a GPU-wide performance guarantee. It used one model, one quantization, a 4096 active context and a short fixed prompt. Windows desktop applications were running during the VRAM snapshots. Only three measured generation runs were used for the median.

The test demonstrates that this specific GTX 1060 3GB system could load the tested Gemma 3 1B configuration fully on GPU and generate at the recorded speed. It does not establish performance for larger context windows, other Gemma tags, other quantizations, different GTX 1060 cards or future Ollama versions.

Documentation used

Related