LeelaChessZero/lc0

Open source neural network chess engine with GPU acceleration and broad hardware support.

解决的问题

Lc0 是一个使用神经网络进行下棋和评估棋局的 UCI 兼容棋类引擎。它提供了执行 Leela Chess Zero 项目训练出的神经网络权重的计算框架,使基于深度学习而非传统手工设计的评估函数实现高水平的国际象棋对弈成为可能。

工作原理

Lc0 作为引擎,通过运行神经网络来评估国际象棋局面。它支持多种硬件后端以优化性能,包括:

  • GPU:CUDA(NVIDIA)、HIP/ROCm(AMD)、Metal Performance Shaders(Apple)、SYCL(Intel/AMD)。
  • CPU:OpenBLAS 或 Intel 的 DNNL 等兼容 BLAS 的库。
  • ONNX Runtime:多种执行提供者(CPU、CUDA、ROCm、DirectML)。

该引擎使用 C++20 编写,可通过提供的绑定集成到 Python 中。

适用人群

  • 希望使用强大、基于神经网络的引擎进行分析或对弈的 国际象棋爱好者
  • 希望通过 Python 绑定将神经网络国际象棋评估集成到自己应用中的 开发者
  • 对神经网络在不同 GPU 和 CPU 架构上部署方式感兴趣的 硬件优化专家

主要亮点

  • UCI 兼容:可与标准国际象棋 GUI 配合使用。
  • 广泛的硬件支持:对 NVIDIA、AMD、Intel 和 Apple Silicon 提供全面支持。
  • 跨平台:可在 Linux、Windows 和 macOS 上构建。
  • Python 绑定:支持程序化访问局面评估。

相关

  • 项目
  • 项目
  • 项目
  • 项目