Sign inSign up

bogdan01m/laperf-cli

By bogdan01m

Updated 10 months ago

La Perf - Open-source AI hardware benchmark suite

Image
0

1.2K

bogdan01m/laperf-cli repository overview

La Perf

CUDA MPS MLX AI Performance Documentation

La Perf — a local AI performance benchmark

for comparing AI performance across different devices.


The goal of this project is to create an all-in-one source of information you need before buying your next laptop or PC for local AI tasks.

It’s designed for AI/ML engineers who prefer to run workloads locally — and for AI enthusiasts who want to understand real-world device performance.

See full benchmark results here: Laperf Results

laperf-cli

Table of Contents


Overview

Tasks

La Perf is a collection of reproducible tests and community-submitted results for :

Note For mac-users: If it's possible prefer to use lmstudio with mlx backend, which gives 10-20% more performance then gguf. If you run ollama (by default benchmarks runs both lmstudio and ollama) then you'll see a difference between mlx and gguf formats.

The MLX backend makes the benchmark harder to maintain, but it provides a more realistic performance view, since it’s easy to convert a safetensors model into an mlx x-bit model.

Requirements

La Perf is compatible with Linux, macOS, and Windows. For embedding tasks, 8 GB of RAM is usually sufficient. However for all tasks, it is recommended to have at least 16 GB, 18 GB is better, and 24 GB or more provides the best performance and reduces swap usage.

It’s designed to run anywhere the uv package manager is installed.

It’s recommended to use a GPU from NVIDIA, AMD, Intel, or Apple, since AI workloads run significantly faster on GPUs. Make sure to enable full GPU offload in tools like LM Studio or Ollama for optimal performance.

For embedding tasks, La Perf automatically detects your available device and runs computations accordingly.


Benchmark Results

Last Updated: 2025-11-19

DevicePlatformCPUGPUVRAMEmb RPS P50LLM TPS P50 (lms)LLM TPS P50 (ollama)VLM TPS P50 (lms)VLM TPS P50 (ollama)GPU Power P50CPU Power P50Emb Efficiency (RPS/W)LLM Efficiency (TPS/W) lmsLLM Efficiency (TPS/W) ollamaVLM Efficiency (TPS/W) lmsVLM Efficiency (TPS/W) ollama
ASUSTeK COMPUTER ASUS Vivobook Pro N6506MV🐧 LinuxIntel(R) Core(TM) Ultra 9 185H (16)NVIDIA GeForce RTX 4060 Laptop GPU8 GB119.18.810.011.88.416.6 W-7.180.530.600.710.51
Mac16,6🍏 macOSApple M4 Max (14)Apple M4 Max (32 cores)shared with system RAM56.261.561.455.445.711.7 W1.0 W4.795.245.244.723.89
Mac16,6 (battery)🍏 macOSApple M4 Max (14) (battery)Apple M4 Max (32 cores) (battery)shared with system RAM56.259.160.654.844.911.4 W1.0 W4.945.215.334.833.95
OpenStack Nova 26.0.7-1 A100 40GB🐧 LinuxIntel(R) Xeon(R) Gold 6240R CPU @ 2.40GHzNVIDIA A100-PCIE-40GB39 GB453.6-113.5-108.0218.2 W-2.08-0.52-0.50
OpenStack Nova A100 80GB🐧 LinuxIntel Xeon Processor (Icelake)NVIDIA A100 80GB PCIe79 GB623.8-135.5-121.2230.5 W-2.71-0.59-0.53
OpenStack Nova RTX3090🐧 LinuxIntel Xeon Processor (Cascadelake)NVIDIA GeForce RTX 309024 GB349.5-114.8-105.3345.6 W-1.01-0.33-0.30
OpenStack Nova RTX4090🐧 LinuxIntel Xeon Processor (Icelake)NVIDIA GeForce RTX 409024 GB643.6-148.7-130.4282.5 W-2.28-0.53-0.46
OpenStack Nova Tesla T4🐧 LinuxIntel Xeon Processor (Cascadelake)Tesla T415 GB133.7-41.5-32.668.9 W-1.94-0.60-0.47

RPS - Requests Per Second (embeddings throughput)

TPS - Tokens Per Second (generation speed)

W - Watts (power consumption)

Efficiency metrics (RPS/W, TPS/W) are calculated using GPU power consumption

⚡ Quick Start

For a full quickstart and setup instructions, please visit the La Perf documentation: Quickstart.

1. Clone the repository
git clone https://github.com/bogdanminko/laperf.git
cd laperf
2. (Optional) Configure environment variables

La Perf works out of the box with default settings, but you can customize it for different providers:

cp .env.example .env
# Edit .env to change URLs, models, dataset sizes, etc.

See .env.example for all available options, including how to use custom OpenAI-compatible providers like vLLM, TGI, or LocalAI.

3. Install dependencies (optional)
uv sync

This will:

  • Create a virtual environment
  • Install all required dependencies
  • Set up the project for immediate use

Running Your First Benchmark

Run all benchmarks

Using make

make bench

Using uv

uv run python main.py

This will:

  1. Auto-detect your hardware (CUDA / MPS / CPU)
  2. Run all available benchmarks (all are pre-selected — you can toggle individual ones in the TUI using Space)
  3. Save the results to results/report_{your_device}.json

Running on GPU Servers (Docker)

For production deployments on cloud GPU instances or dedicated servers, you can use our Docker image:

Pull the image
docker pull bogdan01m/laperf-cli:latest
Run with NVIDIA GPU
docker run --gpus all -it --rm \
  -v $(pwd)/results:/app/results \
  bogdan01m/laperf-cli:latest
Run with AMD ROCm
docker run --device=/dev/kfd --device=/dev/dri -it --rm \
  -v $(pwd)/results:/app/results \
  bogdan01m/laperf-cli:latest
Run CPU-only
docker run -it --rm \
  -v $(pwd)/results:/app/results \
  bogdan01m/laperf-cli:latest

Note: Results will be saved to the mounted ./results directory on your host machine.


Citation

If you use LaPerf in your research or reports, please cite it as follows:

Minko B. (2025). LaPerf: Local AI Performance Benchmark Suite. GitHub repository. Available at: https://github.com/bogdan01m/laperf Licensed under the Apache License, Version 2.0.

BibTeX:

@software{laperf,
  author       = {Bogdan Minko},
  title        = {LaPerf: Local AI Performance Benchmark Suite},
  year         = {2025},
  url          = {https://github.com/bogdan01m/laperf},
  license      = {Apache-2.0},
  note         = {GitHub repository}
}

Tag summary

Content type

Image

Digest

sha256:cd298883d

Size

4.2 GB

Last updated

10 months ago

docker pull bogdan01m/laperf-cli