TerslerThe little junk rig that could

Source files / docs · raw · rendered

reference-video-recipe.md

# Reference build: 2× P100 on a Dell T5810 (YouTube)

A summary of the video description the owner pasted on 2026-11-01. It is the
target configuration for Tersler. Its numbers are the video author's; they
haven't been reproduced here yet.

## Reported results (2× P100, Qwen3.8 27B Q6_K, speculative decoding on)

| Test | Result |
|---|---|
| Reasoning puzzle, reasoning effort "Low" (single run) | 66.7 tok/s (Q4_K_M: 67) |
| ~4,000-token document prompt (median of 3) | 49.2 tok/s |
| Speculative decoding off | 29.7 tok/s |
| Prompt processing | ~400 tok/s |
| 128K context full (thinking off) | 37 tok/s |
| Gemma 4 26B-A4B IQ4_XS, one card | 79 tok/s |
| RTX 3090, same speculative decoding | 66.4 tok/s |

The author reports a later improvement to 74 tok/s (announced as the next
video).

## Their platform

- Dell Precision T5810, Xeon E5-2690 **v4**, 80 GB RAM.
- A second PSU just for card 2.
- Ducted shroud.

## Recipe

### Cards

- Back up the firmware: `nvflash --save p100_cardN_backup.rom`.
- Graphics mode, because the T5810 BIOS can't map 16 GB BAR1:
  `nvflash -i N --gpumode graphics`.
  - The first reboot may power-cycle three times.
  - Re-enable ECC afterwards: `nvidia-smi -i N -e 1` + reboot.
  - On Tersler, try **Above 4G Decoding** first; see
    [hardware-notes.md](hardware-notes.md).
- Power cap: `nvidia-smi -pm 1`, then `nvidia-smi -i N -pl 150`. More power
  gave < 1% more speed.

### System

- Ubuntu 24.04.
- NVIDIA driver **580** (server branch, the last one with Pascal support).
- CUDA **12.9**.
- Kernel boot parameter **`iommu=pt`**, needed for P2P
  (`GGML_CUDA_P2P=1`). Without it, P2P crashed both cards. Without
  `iommu=pt`, leave P2P off; it's worth only a few percent.

### Software

- Kmic-68's P100 fork: <https://github.com/Kmic-68/llama.cpp>, branch
  `p100-optimizations`, tested at commit `d90ec36a3`.
- Build: `-DGGML_CUDA=ON -DCMAKE_CUDA_ARCHITECTURES=60 -DGGML_CUDA_NCCL=OFF
  -DGGML_CUDA_FA_QUANTS=all`. sm_60 only: a second architecture disables the
  Pascal tuning. See the repo's `p100-docs/BUILD.md`.

### Model

Qwen3.8-27B **Q6_K** GGUF **including the MTP head**. The author ran a
community finetune of the same size (`Qwen3.8-27B-Uncensored-Q6_K.gguf`).

### Launch

```bash
GGML_CUDA_P2P=1 GGML_CUDA_GRAPHS_PRE_VOLTA=3 LLAMA_SPEC_SAMPLE_TEMP=1.0 LLAMA_SPEC_DRAFT_TOPK=20 \
llama-server -m Qwen3.8-27B-Uncensored-Q6_K.gguf -ngl 99 -sm tensor -fa 1 -ctk q4_0 -ctv q4_0 \
  -c 131072 -b 32768 -ub 2048 -np 1 \
  --spec-type draft-mtp --spec-draft-n-max 4 --spec-draft-p-min 0.2 -ngld 99 -ubd 64 -ctkd q4_0 -ctvd q4_0 \
  --jinja --temp 1.0 --top-k 20 --top-p 0.95 --min-p 0.0
```

Their notes on the command:

- Drop `GGML_CUDA_P2P=1` without `iommu=pt`.
- Two drafts vs four: about the same.
- One card at PCIe x8: ~2% slower.

## Related projects (credited in the video)

- Kmic: <https://github.com/Kmic-68/llama.cpp>
- fallentree GP100 fork: <https://github.com/thefallentree/llama.cpp> (URL
  truncated in the description; verify)
- qr0n P100 patches: <https://github.com/key-sh/p100-llama-cpp>
- Upstream: <https://github.com/ggml-org/llama.cpp>