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-8192GPUcomboGPU backend for neural network inference. Auto-detects the best available option.
autoauto, cuda, metal, rocm, oneapi, webgpu, cpuGPUDevicesstringComma-separated list of GPU device IDs. Supports up to 1024 GPUs for HPC clusters.
0device IDs (0-1023)GPUBatchSizespinPositions per GPU batch for NNUE evaluation. Higher values improve throughput on modern GPUs.
641-4096SearchModecomboSearch algorithm: alpha-beta, GPU MCTS, or SPTT hybrid (auto selects based on position).
autoauto, alphabeta, mcts, spttMCTSSimulationsspinNumber of MCTS simulations per move when using MCTS or SPTT hybrid search.
800100-100000ContemptspinDynamic contempt value. Positive values avoid draws against weaker opponents.
24-100-100NNUEPathstringPath to a custom NNUE network file. Leave empty to use the built-in network.
<builtin>file pathSyzygyPathstringPath to Syzygy tablebase files (7-man DTZ/WDL or 8-man WDL).
directory 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).
truetrue/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 GB200, GB300 NVL72):
setoption name GPU value cuda
setoption name GPUDevices value 0,1,2,3,4,5,6,7
setoption name GPUBatchSize value 256SPTT Hybrid Search
Enable SPTT (Superparallel Tree Traversal) for best results on complex positions:
setoption name SearchMode value sptt
setoption name MCTSSimulations value 1600
setoption name GPUBatchSize value 128HPC Cluster Configuration
For Vera Rubin or GB300 NVL72 clusters with 72+ GPUs:
setoption name Hash value 65536
setoption name Threads value 512
setoption name GPU value cuda
setoption name GPUDevices value 0-71
setoption name GPUBatchSize value 512
setoption name SearchMode value spttPerformance Tip
For best performance, set Hash to approximately 50-70% of your available RAM, and Threads to match your physical CPU core count. On GPU systems, increase GPUBatchSize to 128-256 for RTX 5090, or 512+ for data center GPUs.