UCI Configuration
Configure NIKOLA's engine settings for optimal performance on your hardware.
Overview
NIKOLA uses the Universal Chess Interface (UCI) protocol for communication with chess GUIs. Configuration is done through UCI options that can be set in your GUI or via the command line.
Setting Options via Command Line
nikola setoption name Hash value 4096UCI Options Reference
HashspinHash table size in megabytes. Larger values improve performance for longer analyses.
2561-131072ThreadsspinNumber of CPU threads for search. Set to your CPU core count for best performance.
11-1024GPUcomboGPU backend for neural network inference. Auto-detects the best available option.
autoauto, cuda, metal, rocm, webgpu, cpuGPUDevicesstringComma-separated list of GPU device IDs for multi-GPU inference.
0device IDsNNUEPathstringPath to a custom NNUE network file. Leave empty to use the built-in network.
<builtin>file pathMultiPVspinNumber of principal variations to output. Higher values show alternative lines.
11-500MoveOverheadspinTime buffer in milliseconds to account for communication delay.
100-5000PondercheckEnable pondering (thinking on opponent's time).
falsetrue/falseRecommended Settings
For Analysis
setoption name Hash value 8192
setoption name Threads value 16
setoption name MultiPV value 3For Tournament Play
setoption name Hash value 4096
setoption name Threads value 8
setoption name Ponder value true
setoption name MoveOverhead value 50Multi-GPU Setup
For systems with multiple GPUs (e.g., DGX stations):
setoption name GPU value cuda
setoption name GPUDevices value 0,1,2,3Performance Tip
For best performance, set Hash to approximately 50-70% of your available RAM, and Threads to match your physical CPU core count (not hyperthreads).