Building from Source

Build NIKOLA Chess Engine from source. The build system automatically downloads the MIND compiler and runtime.

System Requirements

Linux

  • Ubuntu 20.04+
  • x64 with AVX2
  • 4 GB RAM minimum
  • 500 MB storage

macOS

  • macOS 12+
  • Intel or Apple Silicon
  • 4 GB RAM minimum
  • 500 MB storage

Windows

  • Windows 10+
  • x64 with AVX2
  • 4 GB RAM minimum
  • 500 MB storage

Quick Build

The build system automatically downloads the MIND compiler and runtime libraries:

git clone https://github.com/star-ga/NikolaChess.git
cd NikolaChess
make setup
make release

Build Targets

make releaseDefault

Build optimized release binary with auto-detected GPU backend.

make cuda

Build with NVIDIA CUDA backend for RTX 5090, A100, H100, GB200, GB300, Vera Rubin.

make metal

Build with Metal backend for Apple Silicon (M1/M2/M3/M4 series).

make rocm

Build with ROCm backend for AMD GPUs (RX 7000/8000, MI200/MI300X).

make oneapi

Build with Intel oneAPI backend for Arc/Xe GPUs and Ponte Vecchio.

make cpu

Build CPU-only version with AVX-512/AMX (Intel) or NEON/SVE (ARM).

GPU Requirements

For GPU-accelerated builds:

  • NVIDIA (CUDA) - RTX 30/40/50 series, A100, H100, GB200, GB300, Vera Rubin with CUDA 12.x, 8GB+ VRAM recommended
  • AMD (ROCm) - RX 7000/8000 series, MI200/MI300X with ROCm 6.0+
  • Intel (oneAPI) - Arc A770/A780, Xe HPG, Ponte Vecchio with oneAPI 2024+
  • Apple (Metal) - M1/M2/M3/M4 series Apple Silicon

Build Output

After a successful build, the executable will be in the project root:

  • nikola-cuda - NVIDIA GPU version
  • nikola-metal - Apple Silicon version
  • nikola-rocm - AMD GPU version
  • nikola-cpu - CPU-only version

Verify the Build

./nikola-cuda --version

Manual Compiler Installation

If you prefer to install the MIND compiler manually:

Linux / macOS
curl -fsSL https://mindlang.dev/install.sh | bash
Windows
irm https://mindlang.dev/install.ps1 | iex

Troubleshooting

  • make: command not found - Install build-essential (Linux) or Xcode Command Line Tools (macOS)
  • CUDA errors - Verify CUDA toolkit version matches your driver with nvidia-smi
  • Out of memory - Reduce parallel jobs with make release -j4
  • AVX2 not supported - Your CPU is too old; use a newer system or try WSL2
UCI ConfigurationNeural Network