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 releaseBuild Targets
make releaseDefaultBuild optimized release binary with auto-detected GPU backend.
make cudaBuild with NVIDIA CUDA backend for RTX 5090, A100, H100, GB200, GB300, Vera Rubin.
make metalBuild with Metal backend for Apple Silicon (M1/M2/M3/M4 series).
make rocmBuild with ROCm backend for AMD GPUs (RX 7000/8000, MI200/MI300X).
make oneapiBuild with Intel oneAPI backend for Arc/Xe GPUs and Ponte Vecchio.
make cpuBuild 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 versionnikola-metal- Apple Silicon versionnikola-rocm- AMD GPU versionnikola-cpu- CPU-only version
Verify the Build
./nikola-cuda --versionManual Compiler Installation
If you prefer to install the MIND compiler manually:
Linux / macOS
curl -fsSL https://mindlang.dev/install.sh | bashWindows
irm https://mindlang.dev/install.ps1 | iexTroubleshooting
- 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