Llamacpp imatrix Quantizations of granite-4.2-30b by ibm-granite

Using llama.cpp release b10603 for quantization.

Original model: https://huggingface.co/ibm-granite/granite-4.2-30b

Model details:

  • Parameter count: 29B
  • Input support: text
  • Speculative decoding: no
  • imatrix: yes - details

How to run

Prompt format

<|im_start|>system
{system_prompt}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant
<think>

Don't know which to choose? Grab Q4_K_M (18.03GB) - usually a good mix of size and performance. Download instructions available here

Available files:

Filename Quant type File Size Split Description
granite-4.2-30b-bf16.gguf bf16 58.56GB true Full BF16 weights.
granite-4.2-30b-Q8_0.gguf Q8_0 31.11GB false Extremely high quality, generally unneeded but max available quant.
granite-4.2-30b-Q6_K_L.gguf Q6_K_L 24.71GB false Uses Q8_0 for embed and output weights. Very high quality, near perfect, recommended.
granite-4.2-30b-Q6_K.gguf Q6_K 24.51GB false Very high quality, near perfect, recommended.
granite-4.2-30b-Q5_K_L.gguf Q5_K_L 21.28GB false Uses Q8_0 for embed and output weights. High quality, recommended.
granite-4.2-30b-Q5_K_M.gguf Q5_K_M 21.03GB false High quality, recommended.
granite-4.2-30b-Q5_K_S.gguf Q5_K_S 20.26GB false High quality, recommended.
granite-4.2-30b-Q4_1.gguf Q4_1 18.49GB false Legacy format, similar performance to Q4_K_S but with improved tokens/watt on Apple silicon.
granite-4.2-30b-Q4_K_L.gguf Q4_K_L 18.33GB false Uses Q8_0 for embed and output weights. Good quality, recommended.
granite-4.2-30b-Q4_K_M.gguf Q4_K_M 18.03GB false Good quality, default size for most use cases, recommended.
granite-4.2-30b-Q4_K_S.gguf Q4_K_S 16.87GB false Slightly lower quality with more space savings, recommended.
granite-4.2-30b-IQ4_NL.gguf IQ4_NL 16.79GB false Similar to IQ4_XS, but slightly larger.
granite-4.2-30b-Q4_0.gguf Q4_0 16.79GB false Legacy format, kept for compatibility with older tools.
granite-4.2-30b-IQ4_XS.gguf IQ4_XS 15.91GB false Decent quality, smaller than Q4_K_S with similar performance, recommended.
granite-4.2-30b-Q3_K_XL.gguf Q3_K_XL 15.74GB false Uses Q8_0 for embed and output weights. Lower quality but usable, good for low RAM availability.
granite-4.2-30b-Q3_K_L.gguf Q3_K_L 15.38GB false Lower quality but usable, good for low RAM availability.
granite-4.2-30b-Q3_K_M.gguf Q3_K_M 14.36GB false Low quality.
granite-4.2-30b-IQ3_M.gguf IQ3_M 13.31GB false Medium-low quality, new method with decent performance comparable to Q3_K_M.
granite-4.2-30b-Q3_K_S.gguf Q3_K_S 12.96GB false Low quality, not recommended.
granite-4.2-30b-IQ3_XS.gguf IQ3_XS 12.39GB false Lower quality, new method with decent performance, slightly better than Q3_K_S.
granite-4.2-30b-IQ3_XXS.gguf IQ3_XXS 11.69GB false Lower quality, new method with decent performance, comparable to Q3 quants.
granite-4.2-30b-Q2_K_L.gguf Q2_K_L 11.52GB false Uses Q8_0 for embed and output weights. Very low quality but surprisingly usable.
granite-4.2-30b-Q2_K.gguf Q2_K 11.12GB false Very low quality but surprisingly usable.
granite-4.2-30b-IQ2_M.gguf IQ2_M 10.83GB false Relatively low quality, uses SOTA techniques to be surprisingly usable.
granite-4.2-30b-IQ2_S.gguf IQ2_S 10.12GB false Low quality, uses SOTA techniques to be usable.
granite-4.2-30b-IQ2_XS.gguf IQ2_XS 9.76GB false Low quality, uses SOTA techniques to be usable.
granite-4.2-30b-IQ2_XXS.gguf IQ2_XXS 9.03GB false Very low quality, uses SOTA techniques to be usable.

Download a specific file:

hf download bartowski/granite-4.2-30b-GGUF --include "granite-4.2-30b-Q4_K_M.gguf" --local-dir ./

Downloading using the Hugging Face CLI

Click to view download instructions

First, make sure you have the Hugging Face CLI installed:

pip install -U "huggingface_hub[cli]"

Download a specific file:

hf download bartowski/granite-4.2-30b-GGUF --include "granite-4.2-30b-Q4_K_M.gguf" --local-dir ./

The files marked true in the Split column above are stored as multiple parts in a folder. To download all the parts to a local folder, run:

hf download bartowski/granite-4.2-30b-GGUF --include "granite-4.2-30b-bf16/*" --local-dir ./

You can either specify a new local-dir (granite-4.2-30b-bf16) or download them all in place (./)

How to run

These quants run with llama.cpp - installable in one line via llama.app:

curl -LsSf https://llama.app/install.sh | sh
llama-server -hf bartowski/granite-4.2-30b-GGUF:Q4_K_M

llama-server includes a built-in chat web UI, served at http://localhost:8080 by default.

These quants were made with llama.cpp release b10603 - if this model's architecture is newly supported, you'll need that release or newer to run them.

They also work in: LM Studio · koboldcpp · ramalama · Jan AI · Text Generation Web UI · LoLLMs · Atomic Chat

imatrix

All quants made using imatrix option, with a calibration corpus rendered through this model's own chat template. The corpus pairs plain prose with tool-calling and reasoning conversations (corpus source data), encoded exactly as this model sees them at inference and processed with --parse-special, so chat-format special tokens contribute to the importance matrix. The corpus rendered for this model is included in this repo: granite-4.2-30b-calibration-v6.txt. The imatrix is available here: granite-4.2-30b-imatrix.gguf.

Calibration render details
{
  "generator": "auto_quant_v2 calibration renderer",
  "recipe": "calibration-v6",
  "model": "granite-4.2-30b",
  "encoder": "chat_template",
  "chunk_size": 512,
  "prose_chunks": 238,
  "tool_chunks": 335,
  "total_chunks": 573,
  "tool_chunk_fraction": 0.585,
  "n_conversations": 137,
  "extension_convs_used": 0,
  "conversation_token_lengths": [
    564,
    1607,
    917,
    1357,
    1139,
    1405,
    2624,
    645,
    1264,
    1198,
    1039,
    2048,
    890,
    992,
    2454,
    1260,
    1095,
    986,
    754,
    686,
    1386,
    1046,
    1427,
    1192,
    1728,
    1524,
    1058,
    750,
    988,
    1454,
    1579,
    812,
    1267,
    1031,
    1046,
    1706,
    1634,
    1169,
    484,
    1909,
    1314,
    1127,
    1401,
    1786,
    1975,
    1334,
    1554,
    775,
    2485,
    1073,
    2687,
    776,
    1014,
    766,
    864,
    705,
    2312,
    756,
    1114,
    1058,
    1257,
    1172,
    958,
    1005,
    911,
    1335,
    915,
    1520,
    1854,
    861,
    331,
    1124,
    3109,
    2900,
    717,
    761,
    1046,
    804,
    1302,
    1097,
    1167,
    824,
    1050,
    1094,
    1274,
    1531,
    1367,
    1436,
    867,
    665,
    2520,
    651,
    1108,
    1625,
    1967,
    1198,
    633,
    1357,
    1077,
    1678,
    1718,
    1760,
    832,
    794,
    1061,
    3021,
    752,
    599,
    788,
    1188,
    1067,
    1290,
    767,
    357,
    320,
    2367,
    759,
    1121,
    1698,
    1742,
    2417,
    2433,
    694,
    975,
    841,
    879,
    1242,
    1031,
    854,
    1387,
    817,
    725,
    1409,
    985,
    909,
    1339,
    1442
  ],
  "warnings": []
}

Embed/output weights

Some of these quants (Q3_K_XL, Q4_K_L etc) are the standard quantization method with the embeddings and output weights quantized to Q8_0 instead of what they would normally default to.

ARM/AVX information

llama.cpp automatically "repacks" weights into an interleaved layout at load time for faster inference on ARM and AVX machines - details in this PR. This once required downloading special Q4_0_4_4/4_8/8_8 files; those are long gone. Online repacking now covers Q4_0, IQ4_NL, and most K-quants, so no special quant choice is needed for CPU inference.

Which file should I choose?

Click here for details

An older (early 2024) but still useful write-up with charts comparing quant performances is provided by Artefact2 here

The first thing to figure out is how big a model you can run. To do this, you'll need to figure out how much RAM and/or VRAM you have.

If you want your model running as FAST as possible, you'll want to fit the whole thing on your GPU's VRAM. Aim for a quant with a file size 1-2GB smaller than your GPU's total VRAM.

If you want the absolute maximum quality, add both your system RAM and your GPU's VRAM together, then similarly grab a quant with a file size 1-2GB Smaller than that total.

Hugging Face can also do this math for you: add your hardware in your Local Apps settings and the model page will show which files fit.

Next, you'll need to decide if you want to use an 'I-quant' or a 'K-quant'.

If you don't want to think too much, grab one of the K-quants. These are in format 'QX_K_X', like Q5_K_M.

If you want to get more into the weeds, you can check out this extremely useful feature chart:

llama.cpp feature matrix

But basically, if you're aiming for below Q4, and you're running cuBLAS (Nvidia) or rocBLAS (AMD), you should look towards the I-quants. These are in format IQX_X, like IQ3_M. These are newer and offer better performance for their size.

These I-quants can also be used on CPU, but will be slower than their K-quant equivalent, so speed vs performance is a tradeoff you'll have to decide.

Credits

Thank you kalomaze and Dampf for assistance in creating the imatrix calibration dataset.

Thank you ZeroWw for the inspiration to experiment with embed/output.

Want to support my work? Visit my ko-fi page here: https://ko-fi.com/bartowski

Downloads last month
-
GGUF
Model size
29B params
Architecture
granite
Hardware compatibility
Log In to add your hardware

2-bit

3-bit

4-bit

5-bit

6-bit

8-bit

16-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for bartowski/granite-4.2-30b-GGUF

Quantized
(12)
this model

Collections including bartowski/granite-4.2-30b-GGUF