Views
No views yet
| File | Format | Size approx. | Use case |
|---|---|---|---|
| smolLM3-q4_k_m.gguf | Q4_K_M | ~1.9 GB | Best speed, GPU + CPU |
| smolLM3-q8_0.gguf | Q8_0 | ~3.3 GB | Near FP16 quality, fits 6 GB |
| Configuration | Prompt Processing | Text Generation | VRAM / RAM |
|---|---|---|---|
| 4-bit GPU | 11.25 tok/s | 14.60 tok/s | ~5.5 GB VRAM |
| 8-bit GPU | 2.57 tok/s | 12.65 tok/s | ~5.8 GB VRAM |
| 4-bit CPU | 2.38 tok/s | 15.37 tok/s | ~3–4 GB RAM |
| 8-bit CPU | 7.79 tok/s | 11.83 tok/s | ~3–4 GB RAM |
1# 4-bit GPU
2llama-cli.exe -m smolLM3-q4_k_m.gguf -ngl 36 -n 256 --temp 0.7 \
3 --repeat-penalty 1.1 --color -sys "you are a helpful assistant"
4
5# 8-bit CPU
6llama-cli.exe -m smolLM3-q8_0.gguf -ngl 0 -n 256 --temp 0.7libsmolkernels_q4.dll and libsmolkernels_q8.dll
— written in Nim, compiled with -O3 and ORC memory management. They implement a
custom dequantization + matrix-multiply path (mulQ4Mat / mulQ8Mat) that is
dynamically loaded by a patched main.cpp at runtime based on the detected model type.
llama-cli.exe detects "q4_k_m" in filename → loads libsmolkernels_q4.dll → mulQ4Mat()
llama-cli.exe detects "q8_0" in filename → loads libsmolkernels_q8.dll → mulQ8Mat()
Full build instructions, kernel source code, and the main.cpp patch are in the
Medium article linked above.