Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
98 lines (76 sloc) 3.74 KB
/*
Name: Zeta
Description: Experimental chess engine written in OpenCL
Author: Srdja Matovic <s.matovic@app26.de>
Created at: 2011-06-23
Updated at: 2019
License: GPL >= v2
Copyright (C) 2011-2019 Srdja Matovic
*/
Zeta, experimental chess engine written in OpenCL.
################################################################################
### WARNING
################################################################################
GPUs may have an operating system and driver specific timeout for computation.
Nvidia GPUs may have an driver specific timeout of 5 seconds when display is
connected.
AMD GPUs may have an driver specific timeout of about 360 to 3600 seconds.
Therefore it is recommended to run the engine on an discrete GPU, without
display connected.
To increase the Windows OS GPU timeout from 2 to 20 seconds, double-click the
.reg file "SetWindowsGPUTimeoutTo20s.reg" and reboot your OS.
################################################################################
### Tested Platforms
################################################################################
Windows 7 64 bit (mingw compiler) and Linux 64 bit (gcc) OS on x86-64 host
with AMD CPU/GPU and Intel CPU/GPU and Nvidia GPU as OpenCL device.
################################################################################
### Usage
################################################################################
First make sure you have an working OpenCL Runtime Environment,
start the zeta executable in command line with -dl option to list
all available OpenCL devices on host:
zeta -dl
Second check the OpenCL device and create a config file for the engine:
zeta -p 0 -d 0 --guessconfigx
Where p is the selected platform id and d is the selected device id.
Third rename the created config file to config.txt and start the engine.
To play against the engine use an CECP v2 protocol capable chess GUI
like Arena, Cutechess, Winboard or Xboard.
Alternatively you can use Xboard commmands directly on commmand Line,
e.g.:
new // init new game from start position
level 40 4 0 // set time control to 40 moves in 4 minutes
go // let engine play site to move
usermove d7d5 // let engine apply usermove in coordinate algebraic
// notation and optionally start thinking
The implemented Time Control is a bit shacky, tuned for 40 moves in 4 minutes
Not supported Xboard commands:
analyze // enter analyze mode
? // move now
draw // handle draw offers
hard/easy // turn on/off pondering
hint // give user a hint move
bk // book lines
Non-Xboard commands:
perft // perform a performance test, depth set by sd command
selftest // run an internal test
help // print usage info
log // turn log on
benchsmp // init with new and sd and st commands
// runs an benchmark for parallel speedup
benchhyatt24 // init with sd and st commands
// runs an smp benchmark on Hyatt24 positions
################################################################################
## Options
################################################################################
-l, --log Write output/debug to file zeta.log
-v, --version Print Zeta version info.
-h, --help Print Zeta program usage help.
-s, --selftest Run an internal test, usefull after compile.
-pl List all OpenCL Platforms on Host
-dl List all OpenCL Devices on Host
-p 0 Set Platform ID to 0 for guessconfig
-d 0 Set Device ID to 0 for guessconfig
--guessconfig Guess minimal config for OpenCL devices
--guessconfigx Guess optimal config for OpenCL devices
You can’t perform that action at this time.