← all repositories
LeelaChessZero/lc0

Neural-network chess that runs on NVIDIA, AMD, Intel, or just a CPU

A chess engine that evaluates by neural network and treats hardware portability as a first-class feature.

3.2k stars C++ Domain AppsAgents
lc0
Not currently ranked — collecting fresh signals.
star history

What it does

Lc0 is a chess engine that evaluates positions using neural networks from the LeelaChessZero project instead of classical hand-tuned heuristics. It speaks the UCI protocol, so it drops into standard chess GUIs, and can generate self-play games for training data. The codebase is C++20 and wraps a variety of neural-network backends so it can run on diverse hardware.

The interesting bit

The project treats hardware support as a first-class feature rather than an afterthought: it bundles backends for NVIDIA CUDA, Apple Metal, ONNX Runtime (with CPU, CUDA, TensorRT, ROCm, and DirectML providers), and even experimental SYCL for AMD and Intel GPUs, plus fallback BLAS paths for CPU-only machines. That is an unusual amount of plumbing for a chess engine.

Key highlights

  • Speaks UCI, so it works with standard chess GUIs
  • Evaluates positions via neural networks instead of classical evaluation functions
  • Broad backend support: CUDA, Metal, ONNX, SYCL (experimental), and CPU BLAS
  • Python bindings (lczero.backends) expose position-evaluation functionality
  • Distributed-training ecosystem via the LeelaChessZero project

Caveats

  • SYCL support is explicitly marked experimental as of v0.32.0
  • CPU-only inference is supported but described as “a bit slow”
  • Build process requires C++20, Meson, and backend-specific dependencies that can be finicky (e.g., CUDA compiler version matching)

Verdict

Worth a look if you want to experiment with a modern neural-network chess engine or need an engine that runs on non-NVIDIA hardware. Skip it if you prefer traditional hand-tuned engines or are looking for a lightweight project without build-system dependencies.

Frequently asked

What is LeelaChessZero/lc0?
A chess engine that evaluates by neural network and treats hardware portability as a first-class feature.
Is lc0 open source?
Yes — LeelaChessZero/lc0 is open source, released under the GPL-3.0 license.
What language is lc0 written in?
LeelaChessZero/lc0 is primarily written in C++.
How popular is lc0?
LeelaChessZero/lc0 has 3.2k stars on GitHub.
Where can I find lc0?
LeelaChessZero/lc0 is on GitHub at https://github.com/LeelaChessZero/lc0.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.