LeelaChessZero

LeelaChessZero (lc0 / lczero) is a chess engine automated vian neural networks. This test profile can be used for OpenCL, CUDA + cuDNN, and BLAS (CPU-based) benchmarking.

To run this test with the Phoronix Test Suite, the basic command is: phoronix-test-suite benchmark lczero.

Project Site

lczero.org

Source Repository

github.com

Test Created

12 January 2019

Last Updated

16 December 2023

Test Maintainer

Michael Larabel 

Test Type

Processor

Average Install Time

1 Minute, 39 Seconds

Average Run Time

4 Minutes, 8 Seconds

Test Dependencies

C/C++ Compiler Toolchain + BLAS (Basic Linear Algebra Sub-Routine) + OpenCL + Meson Build System + Eigen + Zlib

Accolades

100k+ Downloads

Supported Platforms


Public Result Uploads *Reported Installs **Reported Test Completions **Test Profile Page Views ***OpenBenchmarking.orgEventsLeelaChessZero Popularity Statisticspts/lczero2019.012019.032019.052019.072019.092019.112020.012020.032020.052020.072020.092020.112021.012021.032021.052021.072021.092021.112022.012022.032022.052022.072022.092022.112023.012023.032023.052023.072023.092023.112024.012024.035K10K15K20K25K
* Uploading of benchmark result data to OpenBenchmarking.org is always optional (opt-in) via the Phoronix Test Suite for users wishing to share their results publicly.
** Data based on those opting to upload their test results to OpenBenchmarking.org and users enabling the opt-in anonymous statistics reporting while running benchmarks from an Internet-connected platform.
*** Test profile page view reporting began March 2021.
Data updated weekly as of 21 April 2024.
Eigen46.2%BLAS53.8%Backend Option PopularityOpenBenchmarking.org

Revision History

pts/lczero-1.7.0   [View Source]   Sat, 16 Dec 2023 06:59:59 GMT
Update against lczero v0.30 upstream.

pts/lczero-1.6.0   [View Source]   Wed, 25 Aug 2021 14:55:01 GMT
Update against upstream LC0 v0.28 to workaround build issues on newer Linux distributions.

pts/lczero-1.5.1   [View Source]   Sun, 27 Sep 2020 17:41:46 GMT
Limit max CPU threads to 64 to workaround upstream issue with lc0 bailing out otherwise.

pts/lczero-1.5.0   [View Source]   Sun, 06 Sep 2020 14:18:27 GMT
Update against latest upstream along with updated network, add eigen as possible external dependency.

pts/lczero-1.4.0   [View Source]   Thu, 30 Apr 2020 09:06:47 GMT
Update against lc0 0.25, use new network as old one was removed.

pts/lczero-1.3.0   [View Source]   Fri, 10 Jan 2020 20:28:53 GMT
Update against latest lc0 v0.23.2 upstream, other test improvements.

pts/lczero-1.2.1   [View Source]   Thu, 03 Oct 2019 14:07:11 GMT
Add Windows support.

pts/lczero-1.2.0   [View Source]   Thu, 26 Sep 2019 16:49:44 GMT
Update against lczero upstream

pts/lczero-1.1.1   [View Source]   Wed, 16 Jan 2019 05:41:40 GMT
Add zlib to external dependency list.

pts/lczero-1.1.0   [View Source]   Tue, 15 Jan 2019 10:11:47 GMT
Set threads option always for CPU testing.

pts/lczero-1.0.1   [View Source]   Sun, 13 Jan 2019 14:22:54 GMT
Allow CUDA and BLAS benchmarking back-end support.

pts/lczero-1.0.0   [View Source]   Sat, 12 Jan 2019 20:10:43 GMT
Initial commit of lc0 / lczero chess benchmark using neural networks with GPU compute.

Suites Using This Test

Chess Test Suite

Machine Learning

HPC - High Performance Computing

CPU Massive

NVIDIA GPU Compute


Performance Metrics

Analyze Test Configuration:

LeelaChessZero 0.26

Backend: OpenCL

OpenBenchmarking.org metrics for this test profile configuration based on 347 public results since 6 September 2020 with the latest data as of 18 June 2021.

Below is an overview of the generalized performance for components where there is sufficient statistically significant data based upon user-uploaded results. It is important to keep in mind particularly in the Linux/open-source space there can be vastly different OS configurations, with this overview intended to offer just general guidance as to the performance expectations.

Component
Percentile Rank
# Compatible Public Results
Nodes Per Second (Average)
100th
10
39223 +/- 645
91st
7
29166 +/- 120
Mid-Tier
75th
< 18781
73rd
15
18294 +/- 2139
67th
16
16277 +/- 1829
64th
15
15311 +/- 1641
56th
15
13083 +/- 1294
56th
15
12823 +/- 1361
53rd
9
12383 +/- 686
Median
50th
12311
45th
12
10683 +/- 964
30th
5
6267 +/- 4
Low-Tier
25th
< 5895
19th
3
4152 +/- 19
8th
7
588 +/- 30
5th
3
381 +/- 4
3rd
4
308 +/- 3
OpenBenchmarking.orgDistribution Of Public Results - Backend: OpenCL347 Results Range From 18 To 40348 Nodes Per Second18825163224393246405348605667647472818088889597021050911316121231293013737145441535116158169651777218579193862019321000218072261423421242282503525842266492745628263290702987730684314913229833105339123471935526363333714037947387543956140368714212835

Based on OpenBenchmarking.org data, the selected test / test configuration (LeelaChessZero 0.26 - Backend: OpenCL) has an average run-time of 18 minutes. By default this test profile is set to run at least 3 times but may increase if the standard deviation exceeds pre-defined defaults or other calculations deem additional runs necessary for greater statistical accuracy of the result.

OpenBenchmarking.orgMinutesTime Required To Complete BenchmarkBackend: OpenCLRun-Time510152025Min: 17 / Avg: 17.45 / Max: 23

Based on public OpenBenchmarking.org results, the selected test / test configuration has an average standard deviation of 0.4%.

OpenBenchmarking.orgPercent, Fewer Is BetterAverage Deviation Between RunsBackend: OpenCLDeviation246810Min: 0 / Avg: 0.41 / Max: 2

Notable Instruction Set Usage

Notable instruction set extensions supported by this test, based on an automatic analysis by the Phoronix Test Suite / OpenBenchmarking.org analytics engine.

Instruction Set
Support
Instructions Detected
SSE 4.2 (SSE4_2)
Used by default on supported hardware.
Found on Intel processors since at least 2010.
Found on AMD processors since Bulldozer (2011).

 
POPCNT
Used by default on supported hardware.
Found on Intel processors since Sandy Bridge (2011).
Found on AMD processors since Bulldozer (2011).

 
VZEROUPPER VBROADCASTSS VEXTRACTF128 VINSERTF128 VPERMILPS VPERM2F128
Used by default on supported hardware.
Found on Intel processors since Haswell (2013).
Found on AMD processors since Excavator (2016).

 
VPBROADCASTQ VINSERTI128 VEXTRACTI128 VPBROADCASTD VPSLLVQ VPBROADCASTW VPERMPS VPERM2I128 VPERMQ VPERMD
Advanced Vector Extensions 512 (AVX512)
Used by default on supported hardware.
 
(ZMM REGISTER USE)
FMA (FMA)
Used by default on supported hardware.
Found on Intel processors since Haswell (2013).
Found on AMD processors since Bulldozer (2011).

 
VFMADD132SD VFMADD231SS VFMADD132SS VFNMSUB231SS VFMADD231SD VFMADD213SD VFNMADD132SD VFNMADD132SS VFMSUB132SS VFMADD213SS VFNMADD213SS VFNMSUB132SS VFMSUB231SS VFNMADD213SD VFMADD132PS VFMADD231PS VFMADD213PS VFNMADD231SS
The test / benchmark does honor compiler flag changes.
Last automated analysis: 24 December 2023

This test profile binary relies on the shared libraries libopenblas.so.0, libOpenCL.so.1, libz.so.1, libm.so.6, libc.so.6, libgfortran.so.5, libquadmath.so.0.

Tested CPU Architectures

This benchmark has been successfully tested on the below mentioned architectures. The CPU architectures listed is where successful OpenBenchmarking.org result uploads occurred, namely for helping to determine if a given test is compatible with various alternative CPU architectures.

CPU Architecture
Kernel Identifier
Verified On
Intel / AMD x86 64-bit
x86_64
(Many Processors)