Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
CL
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
/*
  Name:         Zeta
  Description:  Experimental chess engine written in OpenCL
  Author:       Srdja Matovic <s.matovic@app26.de>
  Created at:   2011-06-23
  Updated at:   2019-07-13
  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 aka. xboard 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/off
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

About

Experimental chess engine written in OpenCL to run on a GPU

Resources

License

Packages

No packages published

Languages