Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
orchestra-research avatar

Llama Cpp

  • 434 installs
  • 11.2k repo stars
  • Updated June 16, 2026
  • orchestra-research/ai-research-skills

llama-cpp is a performance tuning skill that optimizes local llama.cpp inference by configuring CPU threads, BLAS acceleration, GPU layer offloading, batch size, and context window for faster token throughput on availabl

About

llama-cpp is an Orchestra Research agent skill for developers running local GGUF models through llama.cpp who need higher token throughput on CPU or hybrid GPU setups. The skill guides thread tuning with the -t flag using physical core counts, enabling OpenBLAS via LLAMA_OPENBLAS=1 for roughly 2–3× matrix speedups, and GPU layer offloading with -ngl including hybrid mode when VRAM is limited. Developers reach for llama-cpp when inference is CPU-bound, partial GPU offload causes OOM, or batch and context settings waste memory. The workflow systematically benchmarks -t, -ngl, and batch flags rather than guessing defaults on new hardware.

  • CPU thread tuning (-t) with guidance to favor physical cores over hyperthreading
  • OpenBLAS build (LLAMA_OPENBLAS=1) for roughly 2–3× matrix speedup
  • GPU layer offload (-ngl) with OOM backoff workflow and nvidia-smi monitoring
  • Batch and ubatch flags for throughput; context length (-c) tradeoffs
  • Benchmark tables for CPU (M3 Max, 7950X, i9-13900K) and GPU offload scenarios

Llama Cpp by the numbers

  • 434 all-time installs (skills.sh)
  • +33 installs in the week ending Jul 26, 2026 (Skillselion tracking)
  • Ranked #1,875 of 16,659 AI & Agent Building skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/orchestra-research/ai-research-skills --skill llama-cpp

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs434
repo stars11.2k
Security audit1 / 3 scanners passed
Last updatedJune 16, 2026
Repositoryorchestra-research/ai-research-skills

How do you optimize llama.cpp inference performance?

Tune local llama.cpp inference—CPU threads, BLAS, GPU layers, batch, and context—for faster token throughput on hardware.

Who is it for?

Developers running local GGUF models via llama-cli who need systematic CPU, BLAS, and GPU offload tuning for better token throughput.

Skip if: Teams serving models exclusively through cloud APIs or developers who already meet latency targets without llama.cpp configuration changes.

When should I use this skill?

Local llama.cpp inference is slow, GPU offload causes OOM, or thread and BLAS settings are untuned on new hardware.

What you get

Tuned llama-cli flags for threads, BLAS, GPU layer count, batch size, and context window matched to hardware.

  • optimized llama-cli command flags
  • hardware-matched inference configuration

By the numbers

  • OpenBLAS delivers 2–3× matrix operation speedup with LLAMA_OPENBLAS=1
  • GPU layer offloading uses llama-cli -ngl flag with hybrid fallback on OOM

Files

SKILL.mdMarkdownGitHub ↗

llama.cpp

Pure C/C++ LLM inference with minimal dependencies, optimized for CPUs and non-NVIDIA hardware.

When to use llama.cpp

Use llama.cpp when:

  • Running on CPU-only machines
  • Deploying on Apple Silicon (M1/M2/M3/M4)
  • Using AMD or Intel GPUs (no CUDA)
  • Edge deployment (Raspberry Pi, embedded systems)
  • Need simple deployment without Docker/Python

Use TensorRT-LLM instead when:

  • Have NVIDIA GPUs (A100/H100)
  • Need maximum throughput (100K+ tok/s)
  • Running in datacenter with CUDA

Use vLLM instead when:

  • Have NVIDIA GPUs
  • Need Python-first API
  • Want PagedAttention

Quick start

Installation

# macOS/Linux
brew install llama.cpp

# Or build from source
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
make

# With Metal (Apple Silicon)
make LLAMA_METAL=1

# With CUDA (NVIDIA)
make LLAMA_CUDA=1

# With ROCm (AMD)
make LLAMA_HIP=1

Download model

# Download from HuggingFace (GGUF format)
huggingface-cli download \
    TheBloke/Llama-2-7B-Chat-GGUF \
    llama-2-7b-chat.Q4_K_M.gguf \
    --local-dir models/

# Or convert from HuggingFace
python convert_hf_to_gguf.py models/llama-2-7b-chat/

Run inference

# Simple chat
./llama-cli \
    -m models/llama-2-7b-chat.Q4_K_M.gguf \
    -p "Explain quantum computing" \
    -n 256  # Max tokens

# Interactive chat
./llama-cli \
    -m models/llama-2-7b-chat.Q4_K_M.gguf \
    --interactive

Server mode

# Start OpenAI-compatible server
./llama-server \
    -m models/llama-2-7b-chat.Q4_K_M.gguf \
    --host 0.0.0.0 \
    --port 8080 \
    -ngl 32  # Offload 32 layers to GPU

# Client request
curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "llama-2-7b-chat",
    "messages": [{"role": "user", "content": "Hello!"}],
    "temperature": 0.7,
    "max_tokens": 100
  }'

Quantization formats

GGUF format overview

FormatBitsSize (7B)SpeedQualityUse Case
Q4_K_M4.54.1 GBFastGoodRecommended default
Q4_K_S4.33.9 GBFasterLowerSpeed critical
Q5_K_M5.54.8 GBMediumBetterQuality critical
Q6_K6.55.5 GBSlowerBestMaximum quality
Q8_08.07.0 GBSlowExcellentMinimal degradation
Q2_K2.52.7 GBFastestPoorTesting only

Choosing quantization

# General use (balanced)
Q4_K_M  # 4-bit, medium quality

# Maximum speed (more degradation)
Q2_K or Q3_K_M

# Maximum quality (slower)
Q6_K or Q8_0

# Very large models (70B, 405B)
Q3_K_M or Q4_K_S  # Lower bits to fit in memory

Hardware acceleration

Apple Silicon (Metal)

# Build with Metal
make LLAMA_METAL=1

# Run with GPU acceleration (automatic)
./llama-cli -m model.gguf -ngl 999  # Offload all layers

# Performance: M3 Max 40-60 tokens/sec (Llama 2-7B Q4_K_M)

NVIDIA GPUs (CUDA)

# Build with CUDA
make LLAMA_CUDA=1

# Offload layers to GPU
./llama-cli -m model.gguf -ngl 35  # Offload 35/40 layers

# Hybrid CPU+GPU for large models
./llama-cli -m llama-70b.Q4_K_M.gguf -ngl 20  # GPU: 20 layers, CPU: rest

AMD GPUs (ROCm)

# Build with ROCm
make LLAMA_HIP=1

# Run with AMD GPU
./llama-cli -m model.gguf -ngl 999

Common patterns

Batch processing

# Process multiple prompts from file
cat prompts.txt | ./llama-cli \
    -m model.gguf \
    --batch-size 512 \
    -n 100

Constrained generation

# JSON output with grammar
./llama-cli \
    -m model.gguf \
    -p "Generate a person: " \
    --grammar-file grammars/json.gbnf

# Outputs valid JSON only

Context size

# Increase context (default 512)
./llama-cli \
    -m model.gguf \
    -c 4096  # 4K context window

# Very long context (if model supports)
./llama-cli -m model.gguf -c 32768  # 32K context

Performance benchmarks

CPU performance (Llama 2-7B Q4_K_M)

CPUThreadsSpeedCost
Apple M3 Max1650 tok/s$0 (local)
AMD Ryzen 9 7950X3235 tok/s$0.50/hour
Intel i9-13900K3230 tok/s$0.40/hour
AWS c7i.16xlarge6440 tok/s$2.88/hour

GPU acceleration (Llama 2-7B Q4_K_M)

GPUSpeedvs CPUCost
NVIDIA RTX 4090120 tok/s3-4×$0 (local)
NVIDIA A1080 tok/s2-3×$1.00/hour
AMD MI25070 tok/s$2.00/hour
Apple M3 Max (Metal)50 tok/s~Same$0 (local)

Supported models

LLaMA family:

  • Llama 2 (7B, 13B, 70B)
  • Llama 3 (8B, 70B, 405B)
  • Code Llama

Mistral family:

  • Mistral 7B
  • Mixtral 8x7B, 8x22B

Other:

  • Falcon, BLOOM, GPT-J
  • Phi-3, Gemma, Qwen
  • LLaVA (vision), Whisper (audio)

Find models: https://huggingface.co/models?library=gguf

References

  • [Quantization Guide](references/quantization.md) - GGUF formats, conversion, quality comparison
  • [Server Deployment](references/server.md) - API endpoints, Docker, monitoring
  • [Optimization](references/optimization.md) - Performance tuning, hybrid CPU+GPU

Resources

  • GitHub: https://github.com/ggerganov/llama.cpp
  • Models: https://huggingface.co/models?library=gguf
  • Discord: https://discord.gg/llama-cpp

Related skills

How it compares

Use this skill for hands-on llama-cli flag tuning on local hardware rather than cloud-hosted inference autoscaling.

FAQ

How much speedup does OpenBLAS give llama.cpp?

The llama-cpp skill documents OpenBLAS acceleration via LLAMA_OPENBLAS=1 delivering roughly 2–3× faster matrix operations on CPU. Combine BLAS with physical-core thread tuning using the -t flag for best throughput.

How should developers set -ngl for GPU offloading?

The llama-cpp skill recommends starting llama-cli with -ngl 999 for full offload, then reducing by 5 layers on OOM until stable. Hybrid CPU-GPU mode balances VRAM limits with acceptable token speed.

Is Llama Cpp safe to install?

skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.