New: Kindi 0.5.0 is out, with the NVIDIA CMP 170HX 40 GB, AMD Radeon 840M and 8060S graphics and the 4B on the tensor-core path.
_Kindi 0.5.0 / Local inference

The world's fastestsoftware inference
engine
for
low-cost GPUs.

Kindi 0.5.0 runs modern 2B to 33B language models on old and inexpensive NVIDIA cards, on RTX 30, 40 and 50 cards and the CMP 170HX, on computers with Radeon 780M, 840M and 8060S graphics, and on the CPU, with no data sent to the cloud.

Free software · AGPL-3.0 · Linux x86-64 · Commercial licensing available

TESTED CONFIGURATIONS2B–33B MODELS

NVIDIA CMP 170HX 40 GB27B · 113.4 tok/s at 512 tokens, one card

GeForce RTX 3090AH-Nanbeige 33B · 52.5 tok/s

Radeon 840M2B · 2.0× the write speed of llama.cpp

Quadro K600027B · 9.9× the write speed of llama.cpp

Quadro K4202B model · 1 GB of VRAM

2B–33BSupported model sizes
NVIDIA / AMD / CPUSupported compute backends
Local inferenceYour model requests stay on your machine
SAME-CARD RESULTS

Kindi against llama.cpp on the same card.

Each result compares the two engines on the same hardware, with the same model file and the same context. Speeds are in tokens per second, with greedy output.

NVIDIA CMP 170HX 40 GB · Ternary-Bonsai-2 27B · new in 0.5.0

Kindi writes faster than llama.cpp at every context that we measured, from 512 to 64K tokens, on one card and on two cards.

406080100120106.196.374.156.1113.4110.192.977.25128K32K64K
77.2tok/sllama.cpp: 56.11.38×
Kindillama.cpp

Write speed (tok/s) at that depth on one card at 250 W, the same 27B file for both engines, K/V q8_0. The big number is 64K tokens. On two cards at 64K: 93.4 against 58.2.

GeForce RTX 3090 · AH-Nanbeige4.3-33B IQ3_XXS

The 33B agent model on one 24 GB card, with the Kindi 0.5.0 code.

52.5tok/sllama.cpp: 42.71.23×

Write at 512 tokens, one card at 350 W, the same IQ3_XXS file, f16 K/V. At 8K: 46.7 against 39.8.

AMD Radeon 840M · Ryzen AI 5 340 · new in 0.5.0

Kindi writes faster than llama.cpp for the 2B, 4B, 9B and 27B, at 512 and 8K tokens.

104.7tok/sllama.cpp: 51.82.0×

The 2B, write at 512 tokens, the same GGUF file on the same computer. The 27B: 7.90 against 5.71, and 7.34 against 4.42 at 8K.

NVIDIA Quadro K6000 (2013) · Ternary-Bonsai-2 27B

A 12 GB Kepler workstation card runs the 27B with a long context.

20.42tok/sllama.cpp: 2.079.9×

Write at 512 tokens, the same file and context for both engines (Kindi 0.3.0 measurement).

NVIDIA Tesla P100 · Ternary-Bonsai-2 27B

16 GB of HBM2 on a used card.

36.0tok/sllama.cpp: 18.71.93×

Write at 512 tokens, one P100 (SXM2) at 300 W, the fp16 prompt path on, K/V q8_0 for both engines.

Two GeForce RTX 3080 cards · AH-Nanbeige 33B

The 33B split over two 10 GB cards; PCIe x1 is sufficient.

45.5tok/sllama.cpp: 32.31.41×

Write at a short context, two cards at 190 W on PCIe x1, the same GGUF file and f16 K/V for both engines.

WHAT'S NEW IN 0.5.0

The CMP 170HX, and Radeon 840M and 8060S graphics.

Kindi 0.5.0 adds the NVIDIA CMP 170HX 40 GB, the Radeon 840M graphics of the Ryzen AI 5 340 and the Radeon 8060S graphics of the Ryzen AI MAX+ 395 (Strix Halo). The installer builds a new kindi-rocm7 image for these RDNA 3.5 graphics. It also puts the 4B on the tensor-core path, and it loads the 9B and the 27B on a computer with 2 GB of free memory.

NVIDIA CMP 170HX 40 GB

A GA100 board (sm_80) with 40 GB of HBM2e on PCIe gen4 x16. Its FP32 rate is not limited. On the same card, Kindi writes faster than llama.cpp for the 27B, on one card and on two cards, and for AH-Nanbeige 33B up to 32K tokens of context.

On sm_80 cards with 20 GB or more, the decode products read a second copy of the ternary weights with 2 bits for each digit. Each mma register then needs one logic operation instead of the five-trit decode, and the products are bit-identical.

Kindi against llama.cpp with the same file on the same cards, in tokens per second: write at that depth, read a prompt of that length. 27B K/V q8_0, 33B f16. Bold: Kindi is faster. The benchmark tables below have the 8K and 32K rows.

Model · cardsContextKindi writellama.cpp writeKindi readllama.cpp read
27B · 1 card512113.4106.11,7851,398
27B · 1 card64K77.256.19561,062
27B · 2 cards512121.2107.31,3501,405
27B · 2 cards64K93.458.28201,039
33B · 1 card51259.748.51,1701,169
33B · 1 card64K32.634.3799788
33B · 2 cards51264.053.11,5191,139
33B · 2 cards64K35.337.01,5051,494

AMD Radeon 840M

The graphics unit of the Ryzen AI 5 340 (RDNA 3.5, gfx1152), with shared DDR5-5600 class memory on a 128-bit bus. ROCm runs it natively, without HSA_OVERRIDE_GFX_VERSION. On the same computer and with the same model files, Kindi writes faster than llama.cpp for the 2B, 4B, 9B and 27B, at 512 and 8K tokens. Kindi also reads the 27B faster: 30.2 against 22.2 tok/s at 512 tokens. The installer builds the kindi-rocm7 image (ROCm 7 with HIP 7.16) for it.

Tokens per second. 27B K/V q8_0 for both engines; for the 2B, 4B and 9B, Kindi's plain engine against llama.cpp's f16 K/V. kindi verify passes with each model. Bold: Kindi is faster.

ModelContextKindi writellama.cpp writeKindi readllama.cpp read
2B512104.751.8265408
2B8K91.549.0243354
4B51249.129.2105155
4B8K41.726.697135
9B51225.523.65688
9B8K23.521.95381
27B5127.905.7130.222.2
27B8K7.344.4227.720.8

AMD Radeon 8060S (Strix Halo)

The graphics unit of the Ryzen AI MAX+ 395 (RDNA 3.5, gfx1151), with 40 compute units and shared 256-bit LPDDR5X memory. Kindi runs the 2B, 4B, 9B and 27B on it, and kindi verify passes with all four. On the same computer and with the same model files, Kindi writes and reads faster than llama.cpp for all four models, at 512 and 8K tokens. The 27B writes 30.59 tok/s at 512 tokens, against 28.31.

Tokens per second. 27B K/V q8_0 for both engines; for the 2B, 4B and 9B, Kindi's defaults against llama.cpp's f16 K/V. The installer builds the kindi-rocm7 image for this graphics unit. Bold: Kindi is faster.

ModelContextKindi writellama.cpp writeKindi readllama.cpp read
2B512260.0236.13,9853,153
2B8K234.5210.93,4883,045
4B512143.2128.61,9521,642
4B8K122.0110.71,6741,541
9B51288.886.01,174746
9B8K80.477.61,076725
27B51230.5928.31375301
27B8K28.4224.34333292
New card

CMP 170HX on two cards

The 27B writes 121.2 tok/s at 512 tokens on two cards (llama.cpp: 107.3), and AH-Nanbeige 33B writes 64.0 (llama.cpp: 53.1).

New graphics

Radeon 840M and 8060S

The 2B writes 104.7 tok/s at 512 tokens, against 51.8 for llama.cpp on the same computer. The 27B writes 7.90 tok/s (llama.cpp: 5.71). On the Radeon 8060S (Strix Halo), the 27B writes 30.59 tok/s (llama.cpp: 28.31).

The 4B on the tensor-core path

Widths that are not a multiple of 1024 (the 4B: 2560) use padded units. On an RTX 3080 at 190 W, the 4B writes 258 tok/s at 512 tokens; the single-card engine writes 118.

Loading with little host memory

Kindi copies the weights to the card one tensor at a time, and the host keeps no full copy. A computer or container with 2 GB of free memory can load the 9B and the 27B.

Decode defaults for sm_80 and sm_86

128-position flash-decode chunks, and on cards with 80 SMs or more, 4-warp product blocks and a one-pass RMS fold. Other cards keep the 0.4.0 settings. KINDI_TESTED_CC adds a compute capability.

kindi verify and llama.cpp ties

A first difference counts as a tie when llama.cpp's own top-2 gap there is under 0.01 nats, or when another llama.cpp run of the same file gives Kindi's token.

GEMV settings for each AMD graphics unit

The Radeon 780M and 840M have their own configurations. On other AMD graphics, Kindi times the configurations at start. A row-parallel product uses 8 column splits at most.

Fixes

The 9B is token-exact on the Radeon 780M and 840M, and on the tensor-core path. On the Radeon 780M, the 27B reads prompts at 105 tok/s again (10.8 when the weight cache had no lane-layout copy).

HARDWARE COMPATIBILITY

Will Kindi work on my card?

Find your graphics card. See the models, recommended setup, driver requirements and community reports.

How compatibility is labeled, and privacy

TESTED BY US: we measured it. REPORTED BY A USER: a user's report, not verified by us. SHOULD WORK: a prediction from the installer's rules; the speed is an estimate. Card data: NVIDIA's CUDA GPU list and Wikipedia's lists of NVIDIA GPUs (CC BY-SA 4.0).

Privacy: each check loads a 1-pixel image from this site. Its address carries what you typed, the card that matched and the answer. It also carries your screen width class, language and time zone, and random anonymous ids for this visit and this browser. We do not ask for or record your name or e-mail. Like every web request, it also appears in the server log with your IP address and browser.

BENCHMARKS

Performance Stats

One rule for each comparison: the same hardware, the same model file and the same context for both engines. Read speed measures prompt processing; write speed measures token generation. These benchmarks were carried out on our test systems. With the Bonsai models, Kindi writes faster than llama.cpp on the Quadro K420, K1200 and K6000, the GTX 1080, the Tesla P100, the RTX 3080, the CMP 170HX and the Radeon 840M. On the CMP 170HX, Kindi writes the 27B faster at every context from 512 to 64K tokens, on one card and on two. The full tables list every card, model and context.

Kindillama.cpp

Write speed at a short context, the recommended model of each setup (tok/s)

K420, 2B
22.9
1.65
K1200, 9B
23.4
5.9
2× K1200, 27B
12.6
1.69
K6000, 27B
20.4
2.07
GTX 1080, 27B
29.4
19.8
P100, 27B
36.0
18.7
RTX 3080, 27B
63.2
52.2
2× P100, 33B
21.0
9.6
2× RTX 3080, 33B
45.5
32.3
CMP 170HX, 27B
113
106
CMP 170HX, 33B
59.7
48.5
Radeon 780M, 27B
10.6
10.3
Radeon 840M, 27B
7.9
5.71
Radeon 8060S, 27B
30.6
28.3
Ryzen 9 CPU, 2B
64.8
23.6

Seconds for each cached request, Nemotron on a GTX 1080 (lower is better)

Agent, turn 2
0.67
1.29
Agent, turn 3
0.86
1.3
Regenerate an answer
0.43
4.93
Document, question 2
0.7
3.16
Document, question 3
0.42
3.1
Two agents, A turn 2
0.58
1.4
Two agents, B turn 2
0.53
1.44

The prompt cache: Nemotron on a GTX 1080 gets a third question about a 9K-token document. Kindi answers it in 10.71 seconds with the cache off and in 0.42 seconds with the cache on. The chart compares the two engines with both caches on.

All speeds are in tokens per second, with greedy output. Kindi uses the exact head, but the K420 write figure uses the fast head, at 2,000 tokens of context. The rows without speculation are the measurements of Kindi 0.3.0. AH-Nanbeige 33B (Kindi 0.4.0): two RTX 3080 cards at 190 W on PCIe x1, the same GGUF file and f16 K/V for both engines; read is a prompt of that length, write is at that depth. NVIDIA CMP 170HX 40 GB (Kindi 0.5.0): one or two cards at 250 W on PCIe gen4 x16, the same file and cards for both engines, K/V q8_0 for the 27B and f16 for the 33B; write is at that depth. GeForce RTX 3090 (the Kindi 0.5.0 code): one card at 350 W, the same GGUF files for both engines; K/V q8_0 for the 27B, f16 for AH-Nanbeige 33B, llama.cpp's default for the 2B, 4B and 9B; write is at that depth. Radeon 840M (Kindi 0.5.0): the graphics of a Ryzen AI 5 340 with 128-bit DDR5-5600 class shared memory, the same GGUF files on the same computer; K/V q8_0 for the 27B, Kindi's plain engine against llama.cpp's f16 K/V for the 2B, 4B and 9B. Radeon 8060S (Kindi 0.5.0): the graphics of a Ryzen AI MAX+ 395 (Strix Halo) with shared 256-bit LPDDR5X, the same GGUF files on the same computer; K/V q8_0 for the 27B, Kindi's defaults against llama.cpp's f16 K/V for the 2B, 4B and 9B. For the RTX 3080 at 380 W and the conditions of each run, read the performance chapter of the manual. The manual (PDF) · docs/BENCHMARKS.md

Explore the full benchmark tables →
Click a column head to sort.
HardwareModelContext (tokens)Kindi readllama.cpp readKindi writellama.cpp writeWrite, Kindi ÷ llama.cpp
Quadro K420 1 GB2B512 (read), 2,000, fast head (write)33.31.222.91.6513.9×
Quadro K420 1 GB2B8,19229.7crashed18.6crashed–
Quadro K420 1 GB2B24,00024.2–15.3––
Quadro K12002B51219526.781.020.83.9×
Quadro K12002B8,19217928.173.321.93.3×
Quadro K12002B24,00015226.558.818.63.2×
Quadro K12004B51277.411.139.28.74.5×
Quadro K12004B8,19270.210.834.38.14.2×
Quadro K12004B24,00058.910.226.46.93.8×
Quadro K12009B51241.75.823.45.94.0×
Quadro K12009B8,19239.25.721.55.63.8×
Quadro K12009B24,00035.6not finished18.1not finished–
2× Quadro K120027B512 (read), short (write)19.51.6312.61.697.5×
Quadro K600027B51236.27.020.42.079.9×
Quadro K600027B8,19230.26.916.42.157.6×
Quadro K600027B24,00026.2did not finish in 1 hour13.1did not finish in 1 hour–
Quadro K6000Nemotron51218890.720.110.71.9×
Quadro K6000Nemotron8,19218233.819.19.81.9×
Quadro K6000Nemotron24,00016415.617.48.562.0×
GeForce GTX 108027B51225799.029.419.81.5×
GeForce GTX 108027B8,19222996.526.918.01.5×
GeForce GTX 108027B32,76817184.820.714.41.4×
GeForce GTX 108027B49,15214678.618.112.71.4×
GeForce GTX 108027B64,000129out of memory16.3out of memory–
GeForce RTX 3080, 190 W27B512 (read), 1K (write)1,09393663.252.21.2×
GeForce RTX 3080, 190 W27B3,000 (read), 32K (write)1,02999556.341.01.4×
GeForce RTX 3080, 190 W27B12,000 (read), 64K (write)94492649.828.01.8×
GeForce RTX 3080, 190 W27B22,000 (read), 90K (write)85585544.023.51.9×
Radeon 780M27B51210460.510.610.31.0×
Radeon 780M27B8,19295.658.29.998.521.2×
Radeon 780M27B24,00080.854.58.756.131.4×
Radeon 780MNemotron51218667019.124.00.8×
Radeon 780MNemotron8,19239259920.021.40.9×
Radeon 780MNemotron24,00023947717.019.10.9×
CPU: Ryzen 9 7940HS2Babout 2,000 (read), 256 out90.460.564.823.62.7×
CPU: Ryzen 9 7940HS4Babout 2,000 (read), 256 out37.825.729.116.51.8×
CPU: Core i7-87002Babout 2,000 (read), 256 out42.533.528.918.11.6×
CPU: Core i7-87004Babout 2,000 (read), 256 out17.013.012.67.751.6×
Quadro K1200Nemotron51266.817.610.48.271.3×
2× Quadro K1200Nemotron51212315.317.27.442.3×
GeForce GTX 1080Nemotron5127431,08855.156.41.0×
2× GeForce RTX 3080, 190 WAH-Nanbeige 33B512 (read), short (write)1,047447 to 53945.532.31.4×
2× GeForce RTX 3080, 190 WAH-Nanbeige 33B2,0481,2671,12044.335.31.3×
2× GeForce RTX 3080, 190 WAH-Nanbeige 33B8,1921,2591,23840.733.31.2×
2× GeForce RTX 3080, 190 WAH-Nanbeige 33B16,3841,2091,19037.031.01.2×
Tesla P100 (SXM2, 300 W)27B512 tokens16814636.018.71.9×
Tesla P100 (SXM2, 300 W)27B8,192 tokens16014334.617.72.0×
2× Tesla P100 (PCIe, 200 W)27B512 (write)––40.414.92.7×
2× Tesla P100 (PCIe, 200 W)27B8,192 (write)––39.515.92.5×
2× Tesla P100 (PCIe, 200 W)27B30K (write)––34.913.62.6×
2× Tesla P100 (PCIe, 200 W)AH-Nanbeige 33B512 (write)––21.09.62.2×
2× Tesla P100 (PCIe, 200 W)AH-Nanbeige 33B8,192 (write)––19.68.92.2×
Quadro K6000AH-Nanbeige 33B480 (write)––3.852.191.8×
Quadro K6000AH-Nanbeige 33B2,016 (write)––3.551.961.8×
Quadro K6000AH-Nanbeige 33B8,160 (write)––3.561.522.3×
NVIDIA CMP 170HX 40 GB27B5121,7851,3981131061.1×
NVIDIA CMP 170HX 40 GB27B8K1,6071,38111096.31.1×
NVIDIA CMP 170HX 40 GB27B32K1,2491,21992.974.11.3×
NVIDIA CMP 170HX 40 GB27B64K9561,06277.256.11.4×
2× NVIDIA CMP 170HX 40 GB27B5121,3501,4051211071.1×
2× NVIDIA CMP 170HX 40 GB27B8K1,2641,37311997.81.2×
2× NVIDIA CMP 170HX 40 GB27B32K1,0301,20810876.11.4×
2× NVIDIA CMP 170HX 40 GB27B64K8201,03993.458.21.6×
NVIDIA CMP 170HX 40 GBAH-Nanbeige 33B5121,1701,16959.748.51.2×
NVIDIA CMP 170HX 40 GBAH-Nanbeige 33B8K1,2511,14155.545.91.2×
NVIDIA CMP 170HX 40 GBAH-Nanbeige 33B32K1,01395742.040.01.1×
NVIDIA CMP 170HX 40 GBAH-Nanbeige 33B64K79978832.634.31.0×
2× NVIDIA CMP 170HX 40 GBAH-Nanbeige 33B5121,5191,13964.053.11.2×
2× NVIDIA CMP 170HX 40 GBAH-Nanbeige 33B8K2,1772,04659.150.21.2×
2× NVIDIA CMP 170HX 40 GBAH-Nanbeige 33B32K1,8691,79345.043.21.0×
2× NVIDIA CMP 170HX 40 GBAH-Nanbeige 33B64K1,5051,49435.337.01.0×
GeForce RTX 3090, 350 W2B5129,16611,9725836051.0×
GeForce RTX 3090, 350 W2B8K8,45812,9645645731.0×
GeForce RTX 3090, 350 W4B5125,6896,4403333550.9×
GeForce RTX 3090, 350 W4B8K4,8636,4263143211.0×
GeForce RTX 3090, 350 W9B5124,0114,2922212161.0×
GeForce RTX 3090, 350 W9B8K3,5864,2622112041.0×
GeForce RTX 3090, 350 W27B5121,4861,43985.989.11.0×
GeForce RTX 3090, 350 W27B8K1,2881,36478.179.91.0×
GeForce RTX 3090, 350 WAH-Nanbeige 33B5121,1921,25552.542.71.2×
GeForce RTX 3090, 350 WAH-Nanbeige 33B8K1,1111,13746.739.81.2×
Radeon 840M (Ryzen AI 5 340)2B51226540810551.82.0×
Radeon 840M (Ryzen AI 5 340)2B8K24335491.549.01.9×
Radeon 840M (Ryzen AI 5 340)4B51210515549.129.21.7×
Radeon 840M (Ryzen AI 5 340)4B8K9713541.726.61.6×
Radeon 840M (Ryzen AI 5 340)9B512568825.523.61.1×
Radeon 840M (Ryzen AI 5 340)9B8K538123.521.91.1×
Radeon 840M (Ryzen AI 5 340)27B51230.222.27.95.711.4×
Radeon 840M (Ryzen AI 5 340)27B8K27.720.87.344.421.7×
Radeon 8060S (Ryzen AI MAX+ 395)2B5123,9853,1532602361.1×
Radeon 8060S (Ryzen AI MAX+ 395)2B8K3,4883,0452352111.1×
Radeon 8060S (Ryzen AI MAX+ 395)4B5121,9521,6421431291.1×
Radeon 8060S (Ryzen AI MAX+ 395)4B8K1,6741,5411221111.1×
Radeon 8060S (Ryzen AI MAX+ 395)9B5121,17474688.886.01.0×
Radeon 8060S (Ryzen AI MAX+ 395)9B8K1,07672580.477.61.0×
Radeon 8060S (Ryzen AI MAX+ 395)27B51237530130.628.31.1×
Radeon 8060S (Ryzen AI MAX+ 395)27B8K33329228.424.31.2×
HARDWARE & MODELS

Hardware and models.

We tested Kindi on these setups. Open a setup for its models, speed and use. The drawings are to one scale; the RTX 3090 and the RTX 5060 Ti use the RTX 3080 drawing, the CMP 170HX uses the Tesla P100 drawing, and the Radeon 840M and 8060S use the mini PC drawing.

KeplerNVIDIA Quadro K420Kepler · 2014 · 1 or 2 GB · 41 W from the slot1 or 2 GB2B · 4B22.9 tok/s
Models
2B on the 1 GB card; 2B or 4B on the 2 GB card
Speed
The 2B writes 22.9 tok/s with the fast head, at 2,000 tokens of context
Good for
Short text decisions and small agent tasks on an old office computer
MaxwellNVIDIA Quadro K1200Maxwell · 2015 · 4 GB · 45 W from the slot4 GB2B to 9B81.0 tok/s (2B)
Models
2B, 4B, 9B or Nemotron
Speed
At 512 tokens: 81.0 tok/s with the 2B, 39.2 with the 4B, 23.4 with the 9B
Good for
Agent work with the 4B, a 9B model in a small office computer
MaxwellTwo Quadro K1200 cardsTensor parallel · 8 GB in total · 90 W2 × 4 GB27B12.6 tok/s
Models
27B or Nemotron, one model on both cards
Speed
The 27B writes 12.6 tok/s at a short context
Good for
A 27B model in a US$222 office computer
KeplerNVIDIA Quadro K6000Kepler · 2013 · 12 GB · 225 W12 GB27B · 33B20.4 tok/s (27B)
Models
27B with 65,536 tokens of context (up to 156,672); AH-Nanbeige 33B with 13 layers in host memory
Speed
The 27B writes 20.4 tok/s at 512 tokens, about 10 times as fast as llama.cpp. The 33B writes 3.56 tok/s at 8K (llama.cpp: 1.52)
Good for
The 27B with a long context on one used workstation card
PascalNVIDIA Tesla P100Pascal · 2016 · 16 GB HBM2 · 250 to 300 W16 GB HBM227B · 33B on two36.0 tok/s (27B)
Models
2B, 4B, 9B and 27B on one card; AH-Nanbeige 33B on two cards
Speed
The 27B writes 36.0 tok/s at 512 tokens, against 18.7 for llama.cpp on the same card. The 33B writes 21.0 tok/s on two cards, against 9.6
Context
Two PCIe P100 cards hold the full 262,144-token context of the 27B (8.6 GB free on each card): Kindi reads a 262,016-token prompt at 67.6 tok/s and writes 15.8 tok/s at that depth.
Good for
16 GB of fast memory for $78 to $160 (a used card). The card has no fan and no video output. Speculation is off on this card
PascalNVIDIA GeForce GTX 1080Pascal · 2016 · 8 GB · 180 W8 GB27B29.4 tok/s
Models
27B with 65,536 tokens of context, or Nemotron
Speed
The 27B writes 29.4 tok/s at 512 tokens and 16.3 at 64,000
Good for
The 27B on one card, long documents, software tasks
AmpereNVIDIA GeForce RTX 3080Ampere · 2020 · 10 GB · Tensor Cores10 GB27B + 2B draft91.1 tok/s with draft
Models
27B with the 2B as a drafter, on by default in 0.4.0 (about 85,000 tokens of context with the installer's settings), or Nemotron
Speed
The 27B writes 62.3 tok/s at 512 tokens without speculation at 190 W, and 91.1 with the 2B drafter (111.5 at 8K)
Good for
Fast agent work with the 27B, very long documents
AmpereTwo GeForce RTX 3080 cardsAH-Nanbeige4.3-33B IQ3_XXS · 20 GB in total · PCIe x1 is sufficient2 × 10 GB33B45.5 tok/s
Models
AH-Nanbeige4.3-33B IQ3_XXS, with its layers in order on the two cards, 16,384 tokens of context
Speed
Writes 45.5 tok/s at a short context and 37.0 at 16K (llama.cpp: 32.3 and 31.0 with the same file)
Good for
A 33B agent model: tool calls, terminal work and code
AmpereNVIDIA GeForce RTX 3090Ampere · 2020 · 24 GB · Tensor Cores24 GB33B on one card27B
Models
27B, and AH-Nanbeige 33B on one card
Speed
AH-Nanbeige 33B writes 52.5 tok/s at 512 tokens (llama.cpp: 42.7) and 46.7 at 8K (llama.cpp: 39.8), with the Kindi 0.5.0 code
Good for
The 33B on one card, for coding work
BlackwellNVIDIA GeForce RTX 5060 TiBlackwell · 2025 · 16 GB · Tensor Cores16 GB27Bkindi verify passes
Models
9B and 27B with the tensor-core profile
Tested
kindi verify passes with the 9B and the 27B (Kindi 0.4.0 development tree)
Good for
The 27B on a 16 GB Blackwell card
AmpereNew in 0.5.0NVIDIA CMP 170HX 40 GBAmpere (GA100) · 40 GB HBM2e · 250 W · no video output40 GB HBM2e27B · 33B113.4 tok/s (27B)
Models
27B and AH-Nanbeige 33B, on one card or on two cards
Speed
The 27B writes 113.4 tok/s at 512 tokens on one card (llama.cpp: 106.1) and 121.2 on two cards (llama.cpp: 107.3). The 33B writes 59.7 tok/s on one card (llama.cpp: 48.5)
Good for
The 27B and the 33B with long contexts. The board that we measured has 40 GB of HBM2e and an FP32 rate that is not limited
AMDAMD Radeon 780MRDNA3 · built into the Ryzen 7 7840HS / 9 7940HS · uses system memoryShared RAM27B10.6 tok/s
Models
27B, Nemotron or 2B, and a second model on the CPU at the same time
Speed
The 27B reads 104 tok/s and writes 10.6 tok/s at 512 tokens
Good for
A small, quiet computer that does agent work
AMDNew in 0.5.0AMD Radeon 840MRDNA 3.5 (gfx1152) · built into the Ryzen AI 5 340 · uses system memoryShared RAM2B to 27B104.7 tok/s (2B)
Models
2B, 4B, 9B and 27B; kindi verify passes with each of them
Speed
At 512 tokens: the 2B writes 104.7 tok/s (llama.cpp: 51.8) and the 27B 7.90 tok/s (llama.cpp: 5.71). The 27B reads 30.2 tok/s (llama.cpp: 22.2)
Setup
The installer builds the kindi-rocm7 image (ROCm 7 with HIP 7.16) for this graphics unit
Good for
A small computer with a current Ryzen AI processor. ROCm 7 runs this graphics natively
AMDNew in 0.5.0AMD Radeon 8060SRDNA 3.5 (gfx1151, Strix Halo) · built into the Ryzen AI MAX+ 395 · 40 compute units · uses system memoryShared RAM2B to 27B30.6 tok/s (27B)
Models
2B, 4B, 9B and 27B; kindi verify passes with each of them
Speed
Kindi writes and reads faster than llama.cpp for the 2B, 4B, 9B and 27B. The 27B writes 30.59 tok/s at 512 tokens (llama.cpp: 28.31) and 28.42 at 8K (llama.cpp: 24.34). The 2B writes 260.0 tok/s (llama.cpp: 236.1)
Setup
The installer builds the kindi-rocm7 image (ROCm 7 with HIP 7.16) for this graphics unit
Good for
The 27B with a long context on one small computer
CPUThe CPUx86-64 with AVX2 · no graphics cardNo GPU2B · 4B64.8 tok/s (2B)
Models
2B or 4B
Speed
The 2B writes 64.8 tok/s on a Ryzen 9 7940HS and 28.9 on a Core i7-8700
Good for
Short text jobs, or a second server next to the GPU servers

Models

2B0.429 GB file

Short, clear jobs: decisions about a text, one-step terminal tasks.

Prompt cacheMTP head
4B0.95 GB file

Terminal work with several steps.

Prompt cache
9B2 GB file

Programming tasks on one 4 GB card.

Prompt cache
27B5.9 GB file

Programming, long documents and many steps. On the GTX 1080 it passed 63 of 65 agent tasks.

Prompt cache2B draft model
Nemotron4.2 GB file

NVIDIA Nemotron 3.5 Bolt E4B (experimental): tool calls and thinking, on one card or two of the same kind.

Prompt cache
33B13.1 GB file

AH-Nanbeige4.3-33B IQ3_XXS, a strong model for coding work: on one card (an RTX 3090, a CMP 170HX or another 16 GB card), two RTX 3080, P100 or CMP 170HX cards, or a K6000.

Prompt lookupTwo cardsHost layers (K6000)

Cards

Kepler

Compute capability 3.0 and later, with the NVIDIA 470 driver.

Quadro K420Quadro K6000

Maxwell

Two 4 GB cards run one 27B.

Quadro K1200

Pascal

The 27B on 8 GB or more. Two P100 cards run the 33B.

GeForce GTX 1080Tesla P100 16 GB

RTX 20, 30, 40, 50

Tested on RTX 3060, 3080, 3090 and 5060 Ti; RTX 4060 Laptop user report; other RTX 20 to 50 cards are supported. RTX 30, 40 and 50 get tensor-core plans and speculation with the 2B draft model.

RTX 3060RTX 3080RTX 3090RTX 5060 TiRTX 4060 Laptop (user report)

CMP 170HX

The 40 GB GA100 board (sm_80): the 27B and AH-Nanbeige 33B on one or two cards, with the tensor-core plans.

CMP 170HX 40 GB

AMD

Ryzen 7 7840HS and 9 7940HS mini PCs (Radeon 780M, ROCm 6.3), the Ryzen AI 5 340 (Radeon 840M) and the Ryzen AI MAX+ 395 (Radeon 8060S, Strix Halo), ROCm 7.

Radeon 780MRadeon 840MRadeon 8060S

CPU

x86-64 with AVX2, next to the GPU servers or on its own.

Ryzen 9 7940HSCore i7-8700

Which model for which job: from the 65 agent tasks of the Kindi benchmark. Bonsai 2B to 27B are Prism ML's ternary models. Type your card in the compatibility check for the models, context and driver that the installer selects. The benchmark on GitHub

WHAT PEOPLE SAY

What people say about Kindi.

Comments from YouTube viewers, quoted as written.

Crazy job you are doing, gonna run some tests as you are onto something and would be helpful for our DC to repurpose some old HW
@user-uk5qk1zo4k · YouTube
Men like this built the modern world!
@williamquick1326 · YouTube
THIS is real YouTube 🏆🏆🏆 Real life project! No AI slop. No bs
@thomasbayer2832 · YouTube
Amazing Amir! What a mind you must have from all your years of experience and thanks for doing this for us all! God bless! ❤️🔥
@LoFiNic2025 · YouTube
and now you added Nemotron. Speechless, beyound the expectations! thank you
@goldbrick16 · YouTube
Your work is truly superb, you are extraordinary sir.
@GabrielLeonardoAdamas · YouTube
Thanks for another great video. And the manual is really good, especially on the use cases, on what works and not. And the benchmarks comparing different cards.
@aegontargaryen1390 · YouTube
Way underrated! I'm glad that you are on "our" side, lol.
@williamquick1326 · YouTube
thank you for your selfless work. you are a incredible person to leverage & use your intellect to help so many others.
@JayRocsit · YouTube
mind blowing. actual cyberpunk. i gonna run it on my old 1080ti that was retired and seating years on shelf but now it have fantastic reason comeback to life. please keep going on that Kindi miracle!
@goldbrick16 · YouTube
Kindi turns old gpus from zero to hero.
@1ku0k · YouTube
I really appreciate the live demos and the step-by-step pdf with instructions!
@eugene3d875 · YouTube
🔥🔥🔥🔥🔥🔥 amazing pace and quality Amir. Going to try your model.
@jayarmstrong · YouTube
You are one of the few people using computing effectively these days. I'm very glad I found your projects and learn a lot from you, please keep up the great work on your amazing products! ☕👍
@goldbrick16 · YouTube
Impressive indeed , thank you for the software, the explanation , is very cool to know people can still be this kind, awesome
@tuliomop · YouTube
Such an amazing product development, best chanel on youtube presently and I neither much bother with other streams :D
@Blockwatch-NN-UK · YouTube
Ty Amir! You are a blessing 😁
@genetapang6251 · YouTube
Do not grow weary in doing all the good you are doing for all of us. Thank you
@JayRocsit · YouTube
You're a steam roller! Go Kindi! PS. Just placed an order for K6000
@1ku0k · YouTube
More of this is needed, Make AI accessible to everyone possible.
@penkshugar · YouTube
Love your work - keep it up - I am fascinated w/ its direction...
@shiftshaper101 · YouTube
This is exciting to have cheap edge devices to support your agentic stack at a very reasonable price!
@ladyoftheflowers9781 · YouTube
Fantastic work! Thanks.
@stevesimpson5994 · YouTube
This is what community needs....
@martincro3 · YouTube
lovely! great work. highly appreciated . --- love from INDIA
@burningions · YouTube
1 / 25
IN THE PRESS
Inference Cafe
“Kindi 0.2.0 is one of the more interesting local-AI projects of the year because it attacks a problem most vendors ignore: the huge installed base of old, low-VRAM NVIDIA hardware.”
Read the review →
Nicheloom
“It also needs deep knowledge of quantized model formats, memory-constrained scheduling, and benchmarking against llama.cpp. Experienced systems and GPU programmers are required.”
Read the analysis →
YesPress
“A specification can describe a limit without exhausting the possibilities.”
Read the profile →
DOCUMENTATION

The field manual.

Cover of How To Get Work Done with Kindi and a $15 GPU, fifth edition for Kindi 0.5.0

How To Get Work Done with Kindi and a $15 GPU, fifth edition, for Kindi 0.5.0. Which hardware to use for which job, the full performance matrix, the prompt cache, two cards as one engine, power caps and the installer. Then how to work with Kindi and the pi agent: which jobs work, which to avoid, and how to break a big job into steps.

Download the manual (PDF)

Earlier editions: fourth edition (Kindi 0.4.0), third edition (Kindi 0.3.0), second edition (Kindi 0.2.0), first edition (Kindi 0.1.0).

KINDI BRIDGE · PREVIEW

An agent workspace.

Kindi Bridge is in development. It is not part of Kindi 0.5.0, and this section shows a preview.

Text-based user interface with an agent workspace, command prompt environment and live performance data.

Use the menus to create and switch agents, send instructions, manage schedules, browse files and inspect system resources.

Layouts, scheduling and other features
Multiple layouts
Choose side panels, telemetry above the workspace or telemetry below it. Zoom a pane or refit the layout when the terminal size changes.
Agent workspace
Create named agents with a mission and working folder. Switch between conversations and queue follow-up instructions for a busy agent.
Command prompt
Use the command pane alongside the selected agent's conversation and performance panels.
Live performance data
Monitor hardware vitals and inference telemetry. Select which GPU to display in the vitals panel.
Built-in scheduling
Send an instruction once at a chosen time or repeat it at a fixed interval. Inspect, pause or delete pending instructions and view delivery history.
Re-prompt reminders
Schedule “check until done” prompts with a task, interval, maximum number of checks and optional deadline. Checks stop on model-confirmed completion, the configured limit or a delivery error.
Files and local references
Browse, preview and edit project files. Attach reference folders for local keyword search, with document extraction and semantic search available through the optional knowledge package.
System tools
Inspect processes, listening ports, resource usage and available cron or systemd timers.
Watch the recorded agent demonstration
kindi-bridge — GTX 1080 test machine (27B) 19.4 tok/s
Kindi Bridge in a terminal on a GTX 1080 test machine. Left: the agent writes a summary in six points, with times, of a GPU failure that it found in five log files. Right: hardware vitals for the GeForce GTX 1080 and the Quadro K420, and inference telemetry for bonsai2-27b: generating at 19.4 tok/s, 3,506 new prompt tokens and 34,124 tokens reused from the cache.
About this live capture
Kindi Bridge on a GTX 1080 test machine: one frame of a live recording, not edited. Kindi Bridge is in development, and it is not part of Kindi 0.5.0. The agent read five log files from a computer with a failed GPU job. Now it writes a summary in six points, with times. The Kindi server runs the 27B (bonsai2-27b) on a GeForce GTX 1080. At this moment, the server writes 19.4 tok/s. For this answer, it reused 34,124 prompt tokens from its cache and read 3,506 new tokens.
What you get, and how it works
  • OpenAI-compatiblekindi serve speaks /v1/chat/completions with streaming and tool calls.
  • Exact by defaultGreedy output matches llama.cpp token for token on the same model file.
  • Prompt cacheKindi reads the long system prompt of an agent one time. Kindi answers a third question about a long document in 0.42 s; llama.cpp takes 3.10 s.
  • Two cards as oneTensor parallelism puts half of each matrix on each card. Two low-profile K1200s hold the 27B.
  • Speculative decodingOn RTX 30, 40 and 50 cards, the 2B drafts tokens for the 27B by default. The output stays the same.
  • Prompt lookupWith AH-Nanbeige 33B, Kindi drafts tokens from text in the prompt. A copy with changes is about 2 times as fast.
  • Ternary tablesFour ternary weights are one byte that indexes a table of partial sums, built like the Cantor set.

Read the details

Download and licensing.

Kindi is free software under AGPL-3.0. Commercial licenses are available for closed products and hosted services.

Read the license · Commercial licensing · Kindi 0.2 archive
Download Kindi