Difference between revisions of "TCEC Season Further information"

From TCEC wiki
Jump to: navigation, search
(Added gcc 12.1.1 to list)
(Java version)
Line 53: Line 53:
 
*OS: CentOS Stream release 8
 
*OS: CentOS Stream release 8
 
*Drivers: nvidia-driver.x86_64 3:495.29.05-1.el8 cuda.x86_64 11.5.1-1 libcudnn8.x86_64 8.3.2.44-1.cuda11.5
 
*Drivers: nvidia-driver.x86_64 3:495.29.05-1.el8 cuda.x86_64 11.5.1-1 libcudnn8.x86_64 8.3.2.44-1.cuda11.5
*Compilers: gcc 8.5.0, 9.2.1, 10.3.1, 11.2.1 and 12.1.1; clang 13.0.0; rust 1.58.1
+
*Compilers: gcc 8.5.0, 9.2.1, 10.3.1, 11.2.1 and 12.1.1; clang 13.0.0; rust 1.58.1; java OpenJDK 1.8.0_322-b06
  
 
===TCEC CPU server until and including S21 superfinal===
 
===TCEC CPU server until and including S21 superfinal===

Revision as of 19:41, 30 January 2023

TCEC Season - Further information - this TCEC Season page is a supplement to TCEC Season Rules

Further information

Engine Specific Configuration

UCI and Xboard (Winboard) engines are supported. To identify the protocol an engine is using you can hover over the king figure placed above the engine logo during a game. This info will be saved for the archive, but does not work for Season 5 or older games.

Compiles

Many engines come with different executable files. 64-bit executables are always preferred over 32-bit. Also, compiles that support SSE 4.2, AVX/AVX2 or similar instruction sets are preferred. An author can also submit an update.sh script that is then used to download/clone and compile the engine. Not stripping the optimized executable of debugging information is recommended.

Large Pages

Large pages are automatically in use, nothing needs to be done by engines.

Number of Cores / Threads

Each engine can use up to 176 cores of the processors, if this is supported. Some engines have a prefix like "deep", but this has been omitted from the engine name to make it shorter. When watching a game you can see the number of cores that are in use by hovering over the king figure above the engine logos.

Split Depth

The split depth parameter basically defines the minimum depth for work to be split between threads. If no specific settings are given from the programmer, the default value will be used.

Main Hash Size

Each engine is allowed to use up to 256GiB of hash. Not all engines support this much hash or time control does not warrant using this much, so the maximum sensible for given time control for that engine will be used in this case. The author's preference for Hash size is always used up to the 256GiB limit. When watching a game you can see the size of the hash that is in use for the engines currently playing by clicking the gears next to the engine logo.

Minor Hash Sizes

Some engines have an option to configure the size of other hash tables, often called pawn hash or evaluation hash. The combined, total RAM usage limit is 288 GiB not including TB files cached by OS.

Own Opening Book

All opening books shipped with the engines are removed and/or disabled and any engine found to be using hidden, internal opening books will be disqualified and replaced with another engine chosen by the Tournament Director.

Endgame Tablebases

For all divisions, 5-men Nalimov/Gaviota/Scorpio, and 6-men Syzygy are available and cached in RAM if enough free RAM is available. When watching a game you can see the type of the tablebases (if any) that is in use for the engines currently playing by clicking the gears next to the engine logo.

Ponder / Permanent Brain

Basically this means that the engines can think during their opponents turn. It is not allowed so it will be disabled because of performance limitations with only 1 computer. This might change in a future Season of TCEC.

Contempt / Draw Score

Some engines have a setting that can adjust their own view of the positions throughout a game to avoid draws. This setting is not changed from the default unless it is a request from the programmer.

Other Settings

Any configurable option not described above, is not normally adjusted in any way, except if the programmer of an engine wants specific settings for each specific Division. :Options like "keep hash tables" or similar is usually enabled.

TCEC Hardware

Thanks to our devoted audience for it's support in the form of donations, subscriptions and cheers!
Special thanks to noobpwnftw who sponsors TCEC with the current playing hardware mentioned hereafter!

TCEC all in one box server since after S21 superfinal

ALL IN ONE BOX SYSTEM

  • CPU: 2x Xeon 6230R (52 cores/104 threads)
  • GPU: 2xA100-PCIE-40GB
  • RAM: 256GiB (~96GiB/engine)
  • Storage: 2TiB SSD + Starting from S23 VVLTC: 12TiB (4 drives) SSD for Syzygy3-7 (total 14TB) + 15TiB (2 drives raid1 (30TiB)) HDD for Syzygy7 DTZ
  • OS: CentOS Stream release 8
  • Drivers: nvidia-driver.x86_64 3:495.29.05-1.el8 cuda.x86_64 11.5.1-1 libcudnn8.x86_64 8.3.2.44-1.cuda11.5
  • Compilers: gcc 8.5.0, 9.2.1, 10.3.1, 11.2.1 and 12.1.1; clang 13.0.0; rust 1.58.1; java OpenJDK 1.8.0_322-b06

TCEC CPU server until and including S21 superfinal

  • CPUs: 4 x Intel Xeon 4xE5-4669v4
  • Cores: 88 physical / 176 threads
  • RAM: 288 GiB DDR4 (available to engines)
  • RAM: 1 TiB (available to 6-pieces Syzygy)
  • HDD: 7 TB total
  • OS: CentOS Linux release 8.2.2004 (Core)
  • If no Linux version: wine-5.0 or Microsoft Windows Server 2019 Datacenter 10.0.17763 N/A Build 17763 running in VM
  • Compilers if you submit source code: gcc version 8.3.1 20191121 (or optionally gcc (GCC) 9.2.1 20191120), clang version 9.0.1, java 14.0.1 2020-04-14

TCEC GPU server until and including S21 superfinal

  • GPUs: 4x V100
  • CPU: Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz, 32 vcores
  • RAM: 48GiB (available to engines)
  • RAM 128GiB (RAM unused by engines is used for caching tablebase files)
  • SSD: 500GB
  • 6-piece Syzygy and 6-piece Scorpio bitbases on SSD
  • OS: Ubuntu 18.04.5 LTS
  • Drivers and libraries: nvidia-driver-455.45.01-0ubuntu1, cuda 11.1.1-1, cuda 10.2.89-1, libcudnn 8.0.5.39-1+cuda11.1, libcudnn 7.6.5.32-1+cuda10.2
  • Compilers if you submit source code: gcc version 7.5.0, gcc version 8.4.0, clang version 6.0.0-1ubuntu2, meson 0.55.1

FAQ

Is this the official World Computer Chess Championship?

No, it is not, although many people regard it as such.

Did the engine move instantly?

Yes, some engines can move from hash, or move instantly (instamove of 0 seconds). However, sometimes it can seem that it moves instantly but in reality it doesn't, since there is a transmission delay from the playing server to the website. Refer to the "move time" for each engine to see how long it thought on its move.

Is there a special plugin required to view the games?

No, to view the games it is only required that you allow Javascript to run. The TCEC Web GUI has been developed by Octopoulo, improving on the ideas of Ben Reese and Arun Sathya. It will run on the latest Chrome, but also on the latest Firefox. There is no support for Internet Explorer versions below 9.

What are you using to play the games?

To play the games a special version of cutechess-cli is used. This is a command line tool without an actual GUI. This was made possible thanks to Jeremy Bernstein and Arun Sathya. Previously TCEC used ChessGUI by Matthias Gemuh.

Who are the authors of the GUI?

The current web GUI has been developed and created from scratch by Octopoulo, building on the ideas behind the older one created by Ben Reese and Arun Sathya. Previous seasons used a GUI by Martin Thoresen, currently known as legacy GUI.
As of Season 17 the new TCEC Official GitHub will be used for further development.

What is the name of the web framework that displays the games?

For the current web GUI it is chessboard.js and cutechess-cli. For the legacy GUI and archive GUI it is called pgn4web and is totally free. Paolo Casaschi is the mastermind behind it and has helped a lot on certain difficult programming challenges.

Who is the author of the opening books used?

The author of the Superfinal opening book (Book E) is Jeroen Noomen (aka Jeroen_TCEC); the author of all other opening books (Book A-D) used during TCEC tournament games is Nelson Hernandez (aka CatoTheYounger_TCEC).