Skip to content

Devre , a UCI compatible chess engine by Omer Faruk Tutkun.

Notifications You must be signed in to change notification settings

OmerFarukTutkun/Devre

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Devre

Devre is a strong open-source UCI compatible chess engine written in C++. While writing the engine, I got great help from chessprogramming wiki , talkchess forum,stcokfish discord ,and some open-source engines: Ethereal, Vice, Koivisto.

Rating

Version CEGT CEGT 40/20 CCRL Blitz CCRL 40/15 Owl Chess Blitz SPCC
Devre 4.0 3321 3305 3401 3311 3179 3442
Devre 3.07 3292
Devre 3.0 3099 3225
Devre 2.0 3104 3035
Devre 1.0 2955 2874

Movegen

  • Fancy magic bitboards
  • legal movegen with make/unmake.

Search

  • Alpha beta search (PVS)
  • Quiessence search
  • Transposition table
  • Iterative Depening
  • Aspiration Window
  • Null Move Pruning
  • Mate Distance Pruning
  • Late Move Reduction
  • Check Extension
  • Futility prunings
  • SEE pruning
  • Singular Extension

Move ordering

  • Hash move
  • Good Captures sorted by Capture History
  • Killer moves
  • countermove
  • History heuristic
  • Bad Captures sorted by Capture History

Evaluation

Devre uses a NNUE for evaluation. The Network architure is 32*768 -> (512x2) -> 1. The default net was trained with 2 billion positions from Leela data. The training code written in C/CUDA,and can be found in https://github.com/OmerFarukTutkun/CUDA-Trainer . The training resources and other useful information about NNUE can be found in stockfish discord. Thanks to Stockfish and Leela teams for publishing their training data in public.

Compiling

To compile in Linux/Windows with a cpu that supports AVX2 or SSE3:

  • to compile with makefile you can use one of the options: make avx2 , make sse3 , make NATIVE=0 avx2 ,make NATIVE=0 sse3