Skip to content

Value tournament #39

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 586 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
586 commits
Select commit Hold shift + click to select a range
d10a650
Disable WDL lookups when playing from DTZ restricted search position.…
Tilps Jan 19, 2021
678388d
Turn syzygy fast play off by default. (#1472)
Tilps Jan 19, 2021
b942803
Assorted meson fixes (#1491)
borg323 Jan 20, 2021
ba38a76
build with alternative malloc (#1492)
borg323 Jan 20, 2021
9b6fde5
An alternative multigather which skips a few details in order to be a…
Tilps Jan 22, 2021
98c8171
Remove FetchSingleNodeResult duplication. (#1494)
Tilps Jan 23, 2021
2687d1e
Rewrite legacy ExtendNode in terms of new ExtendNode. (#1495)
Tilps Jan 24, 2021
e93a2a8
Change PickNodeToExtend to use EnsureNodeTwoFoldCorrectForDepth (#1496)
Tilps Jan 24, 2021
d2e03fd
Increase use of workspace. (#1498)
Tilps Jan 30, 2021
0e1c34d
Early exit if backend is idle and there is work to do. (#1503)
Tilps Jan 30, 2021
ac7e6bc
also generate profile for multi-gather (#1504)
borg323 Jan 31, 2021
d09a137
Actively split pick tasks as early as possible. (#1497)
Tilps Jan 31, 2021
8f72909
HashKeyedCache (#1500)
Tilps Jan 31, 2021
88c4c18
Better default value for minimum picking work and clean up some old c…
Tilps Jan 31, 2021
5af07df
bypass meson compiler detection in build.cmd (#1505)
borg323 Jan 31, 2021
c8399dd
update build.cmd (#1484)
borg323 Jan 31, 2021
03ae687
fix cudnn pgo builds (#1450)
borg323 Feb 4, 2021
e8c34be
replace floor in FastPow2 and rename to FastExp2 (#1485)
borg323 Feb 5, 2021
7c627b6
check mkl_include dir exists (#1441)
borg323 Feb 5, 2021
36b3b1f
use neon instructions on arm (#1451)
borg323 Feb 5, 2021
754d2bd
merge v0.26.3 changelog into master (#1512)
Naphthalin Feb 5, 2021
55d02af
check for illegal move (#1514)
borg323 Feb 5, 2021
617b4f9
Negative wdl (#1362)
nguyenpham Feb 6, 2021
9a9bdcf
Update parameters. (#1475)
zz4032 Feb 6, 2021
4e0ddcf
Add SmartPruningStopper logic if 0 or 1 non losing moves remain. (#1489)
Naphthalin Feb 6, 2021
ba022e7
update version and changelog before branching (#1516)
borg323 Feb 6, 2021
5d0d375
Fix crash applying moves without a built tree. (#1518)
Tilps Feb 6, 2021
b1bf3f3
Fix crash instead of trying to validate legal moves. (#1519)
Tilps Feb 6, 2021
bfb1d53
replace cudnn softmax with cpu version (#1425)
borg323 Feb 15, 2021
67adc26
Apply drift correction to q and d values in training data. (#1526)
Tilps Feb 15, 2021
e16dd26
fixed accidental flipping of sign when trying to determine whether ot…
Naphthalin Feb 15, 2021
9fa7bfa
Don't divide by zero after the instamove. (#1527)
mooskagh Feb 15, 2021
4541885
Clamp smooth to ensure move_overhead is respected. (#1528)
Tilps Feb 16, 2021
a5771a6
Ensure allowed piggybank time doesn't push total time limit past move…
Tilps Feb 17, 2021
fd703cc
Make smooth time manager the default. (#1531)
Tilps Feb 17, 2021
7fe47d3
Clippy Threshold update. (#1532)
zz4032 Feb 20, 2021
ac6feee
Increase default moooef (#1538)
Tilps Feb 27, 2021
f1eef4a
Return lost check for whether root node is DTZ before doing WDL looku…
Tilps Mar 18, 2021
5b16be9
Make multi-gather default. (#1550)
Tilps Mar 23, 2021
73fd198
Update README to release 0.27 (#1548)
imBigo Mar 23, 2021
e00fd49
Fix log spam during infinite analysis (#1536)
DU-jdto Mar 23, 2021
038c6e2
default promotion to knight was leaving en-passant set (#1554)
borg323 Apr 3, 2021
c7541f2
Limited mcv (#1540)
Tilps Apr 17, 2021
ba24142
Get Forsyth-Edwards Notation : GetFen() (#832)
MelleKoning Apr 19, 2021
9fbcc1e
support for windows mimalloc (#1561)
borg323 May 31, 2021
791b1bf
fix pgo build for new muligather default (#1559)
borg323 May 31, 2021
997257a
Fix compile error due to missing #include <condition_variable>. (#1570)
mooskagh Jun 10, 2021
eb57a9d
Better names for layers in tensorflow_cc backend. (#1571)
mooskagh Jun 10, 2021
4d89f08
Illegal first rank pawns exception! (#1566)
OfekShochat Jun 10, 2021
c56927d
skip full rebuild when build_id changes (#1565)
borg323 Jun 10, 2021
fe0f8a2
Improvements for backendbench (#1560)
borg323 Jun 10, 2021
62741d5
Use NHCW layout for fused winograd residual block (#1567)
ankan-ban Jun 10, 2021
19cf1fe
fix off-by-one error (#1572)
borg323 Jun 11, 2021
44d78b3
target specific default net (#1573)
borg323 Jun 13, 2021
037872a
update blas defaults (#1574)
borg323 Jun 13, 2021
0f54ee2
Multi-stream Optimization for CUDA backend (#1568)
ankan-ban Jun 13, 2021
8ad27d6
Policy focus (#1535)
jhorthos Jun 13, 2021
971786b
Add an option to the legacy TM to use more time from deeper book exit…
Naphthalin Jun 15, 2021
41eb77e
Multi stream fixes (#1575)
ankan-ban Jun 15, 2021
705c138
Fix uninitialized variable with multi-stream (#1577)
noobpwnftw Jun 15, 2021
d758779
flag to init backend and load net on startup (#1576)
borg323 Jun 15, 2021
6b1f83e
Onednn backend (#1558)
borg323 Jun 16, 2021
89aedf0
add mimalloc to release builds (#1569)
borg323 Jun 16, 2021
34adb99
update changelog and version before branch (#1578)
borg323 Jun 16, 2021
1fa8d80
dnnl lib is now preinstalled in some systems (#1580)
borg323 Jun 18, 2021
8cc5096
change default winograd on gtx16x0 (#1581)
masterkni6 Jun 18, 2021
cf337bb
revise legacy time manager (#1584)
borg323 Jun 24, 2021
ea08545
Uses of exit instead of Exception (#1343)
nguyenpham Jun 27, 2021
f537cc2
disable max_needed optimization when filtering root moves (#1617)
borg323 Aug 3, 2021
a84a3ba
Onnx backend (#1588)
mooskagh Aug 4, 2021
a0079eb
Upstream some of the core rescorer logic that is tightly bound to cha…
Tilps Aug 5, 2021
dba260e
do not build onednn backend by default (#1614)
borg323 Aug 5, 2021
4c577a7
set cuda multi_stream off by default (#1615)
borg323 Aug 5, 2021
bcd4237
more stable softmax (#1616)
borg323 Aug 5, 2021
4e974a2
Quickfix for smooth TM nps misprediction. (#1596)
mooskagh Aug 20, 2021
add985c
update default nets (#1623)
borg323 Aug 20, 2021
61e2409
updated defaults (#1622)
borg323 Aug 20, 2021
727fcd0
set task workers to 0 for cpu packages (#1629)
borg323 Aug 25, 2021
aa3bc32
restrict res_block_fusing to filters multiple of 32 (#1628)
borg323 Aug 25, 2021
2687775
'Minimal' change to allow 64 byte node by removing non-multigather su…
Tilps Aug 27, 2021
857330c
Upstream a rescorer patch that was missed in the big import. (#1637)
Tilps Sep 6, 2021
399f90c
More correctly clear some fields when doing a v5 upgrade. (#1638)
Tilps Sep 6, 2021
7818cf2
Update 0.27 to 0.28 (#1635)
cn4750 Sep 6, 2021
1b676d5
onnx backend fixes (#1644)
borg323 Sep 28, 2021
cb341db
move GetV6TrainingData() and related files to new directory (#1640)
borg323 Oct 2, 2021
139b9d1
warning fixes (#1643)
borg323 Oct 2, 2021
aa9da88
loader fix for nets with onnx model (#1648)
borg323 Oct 10, 2021
1de6643
fix for windows builds of onnx (#1652)
borg323 Oct 26, 2021
15f1536
Update linux build instructions (#1651)
holmanb Oct 27, 2021
252088e
Update README.md (#1636)
A-childs-encyclopedia Oct 27, 2021
223a8af
A command line tool to do various Leela related stuff. (#1653)
mooskagh Nov 29, 2021
d293188
implement dense policy for onnx backend (#1656)
borg323 Nov 29, 2021
f9e6332
Add support for res-block-fusing opt for 512 filter networks on Amper…
ankan-ban Nov 30, 2021
d2e372e
"Trivial" backend. (#1662)
mooskagh Dec 8, 2021
742768a
Merge branch 'master' into policy_tournament
Tilps Jan 21, 2022
5170f7b
Copy the batchSize tweak to cuda backend.
Tilps Jan 21, 2022
3ddbda6
Remove duplicated syzygy code from merge.
Tilps Jan 21, 2022
7cabf73
Merge branch 'policy_tournament' into value_tournament
Tilps Jan 21, 2022
d551f7c
Fix typo in comment about net input format (#1634)
gmorenz Feb 14, 2022
3464660
fix cuda se block threading (#1685)
borg323 Feb 14, 2022
a2407cb
Attention policy (#1688)
ankan-ban Feb 24, 2022
fc3265b
WAR for cublas issue on TU11x GPUs with version CUDA 11.0+ (#1675)
ankan-ban Feb 25, 2022
ca01eee
Mish support (on top of attention) (#1699)
Tilps Feb 27, 2022
025105e
Optimized Res-block Fusion without SE (#1678)
ankan-ban Mar 3, 2022
70b36c7
Optimizations for attention policy head (#1705)
ankan-ban Mar 20, 2022
da0895b
add winograd helper cuda dependency (#1704)
borg323 Mar 29, 2022
7c29030
update default 15b net (#1701)
borg323 Mar 31, 2022
b2a906f
onnx gpu option (#1692)
borg323 Apr 1, 2022
bcd6762
Attention blas (No policy encoder block support) (#1709)
Tilps Apr 1, 2022
8b9770d
Dx12 set default max_batch to kMaxSupportedBatchSize (#1712)
Naphthalin Apr 1, 2022
9d37dac
ispc mish version for better vectorization (#1719)
borg323 Apr 3, 2022
6a35b19
Replace numbers with user readable text in network arch error messaag…
almaudoh Apr 3, 2022
6c5204d
update changelog and version before branch (#1720)
borg323 Apr 3, 2022
12ec9f6
Merge branch 'master' into policy_tournament
Tilps Apr 6, 2022
3b1ba5f
Merge branch 'policy_tournament' into value_tournament
Tilps Apr 6, 2022
af51fc7
Update number of history planes in weights.h (#1730)
Viren6 Apr 22, 2022
aee022c
make use of IsValidCoord method (#1724)
WWL-MikeRoberts Apr 22, 2022
f69f78a
update nncache (#1723)
nathan-lc0 Apr 22, 2022
86288ac
Temperature chooses by P instead of N when only 1 node (#1739)
danegraphics Apr 22, 2022
65b457a
Add hint about how to solve meson problem (#1646)
alstrup Apr 23, 2022
0e042dd
Don't check for onnx domain, tf2onnx doesn't populate this field. (#1…
mooskagh Apr 24, 2022
7256067
Fix gcc and clang warnings. (#1741)
mooskagh Apr 25, 2022
44a0c02
hide eigen warnings (#1703)
borg323 Apr 25, 2022
d4e3881
a few describenet additions (#1679)
borg323 Apr 25, 2022
d8c60f2
Speed optimizations for the blas backend. (#1726)
borg323 Apr 29, 2022
8ae4c34
onednn backend support for mish and attention policy (#1743)
borg323 May 9, 2022
bfa5b7d
onednn winograd selection heuristic (#1750)
borg323 May 11, 2022
a0d9cce
python build helper compatibility fix (#1754)
borg323 May 19, 2022
b1e8c64
do policy softmax for valid moves in check backend (#1645)
borg323 Jun 7, 2022
9448145
Search cleanup (#1757)
borg323 Jun 7, 2022
8ab2fae
Fix warnings. (#1759)
mooskagh Jun 11, 2022
f508567
Small cleanup (#1760)
borg323 Jun 24, 2022
c648428
Warning cleanup 🧹 (#1766)
baum Jul 27, 2022
dcc37b7
Namespace semicolons (#1767)
Etcaqab Aug 3, 2022
0e21026
Merge branch 'master' into policy_tournament
Tilps Aug 27, 2022
de0a075
Merge branch 'policy_tournament' into value_tournament
Tilps Aug 27, 2022
ebdde50
remove double header (#1771)
PaulJeFi Aug 31, 2022
295bd03
Version detection in meson.build for new editions of Python (#1772)
patrik-ha Sep 5, 2022
865df70
Fix attention head size (#1773)
borg323 Sep 15, 2022
77e0275
inform time manager of any nps limit (#1777)
borg323 Nov 2, 2022
3fa0e65
update appveyor release profile generation (#1784)
borg323 Nov 4, 2022
ac3fef6
New metal backend using MPSGraph (#1693)
almaudoh Nov 5, 2022
6b0944d
Increase priority and fix conv policy bug in metal backend. (#1785)
almaudoh Nov 6, 2022
ea139e4
cudnn attention policy (#1752)
borg323 Nov 7, 2022
e2140a1
fixed typo in comment (#1790)
Naphthalin Nov 12, 2022
90ee6a9
Add encoder support to blas/eigen backend. (#1781)
almaudoh Nov 15, 2022
dc2bcd5
Chessbase adds a UTF-8 BOM to the PGN files, so ignore those if they …
alstrup Nov 23, 2022
6296744
directml onnx-dml backend and onnx fp16 support (#1792)
borg323 Nov 24, 2022
b21c11d
Add attention policy and mish support to onnx backend. (#1783)
borg323 Nov 29, 2022
71ba526
build onnx-dml package (#1751)
borg323 Dec 3, 2022
3c15104
update default net (#1804)
borg323 Dec 4, 2022
da54e46
option to select onnx opset (#1803)
borg323 Dec 4, 2022
d508685
Add 'simple' time manager (#1764)
trre123 Dec 4, 2022
98af235
Backendbench assistant with TC-dependent output. (#1546)
zz4032 Dec 4, 2022
d1237b8
In smooth TM, use piggybank when it seems like the bestmove can be ov…
mooskagh Dec 4, 2022
b608c1b
only use thread binding with blas backend (#1797)
borg323 Dec 4, 2022
2d2d3ec
Fix apparent "mate blindness" in endgame due to instamove logic (#1742)
Naphthalin Dec 4, 2022
23768b7
initial dfrc support (#1684)
borg323 Dec 4, 2022
047136a
Fix error in mha scaling in encoder layers. (#1808)
almaudoh Dec 7, 2022
d99ecd5
add probability for early termination of selfplay openings (#1681)
borg323 Dec 8, 2022
56feb63
update onednn version (#1811)
borg323 Dec 12, 2022
5ae25fa
Persistent L2 cache opt for cuda backend (#1815)
ankan-ban Dec 17, 2022
2b17326
fix undefined behavior (#1817)
borg323 Dec 18, 2022
0cd7a90
set MADV_RANDOM for syzygy mmap (#1818)
borg323 Dec 18, 2022
c37ff7f
Merge branch 'LeelaChessZero:master' into policy_tournament
Tilps Dec 25, 2022
9af2b06
Fix softmax cuda (#1822)
almaudoh Dec 25, 2022
c486ca5
set cache_opt default to false (#1823)
borg323 Dec 26, 2022
166a28b
fix onnx final mlh activation (#1825)
borg323 Dec 27, 2022
c170619
inline fp16 conversions (#1824)
borg323 Dec 28, 2022
213fa26
onnx squeeze cleanup (#1826)
borg323 Dec 28, 2022
0e92606
update readme and changelog (#1827)
borg323 Dec 28, 2022
90313ca
Use sliceTensor instead of splitTensor for attn policy promo (#1828)
almaudoh Jan 2, 2023
3a88534
allways fill history for en passant (#1837)
borg323 Jan 27, 2023
5e575c3
add support for vs2022 in build.cmd (#1836)
masterkni6 Jan 27, 2023
efb02ea
fix syzygy loading (#1840)
borg323 Jan 31, 2023
9e9a576
support onnx opset 18 (#1845)
borg323 Feb 12, 2023
a61e43d
BLAS performance improvement for attention policy parts. (#1842)
borg323 Feb 12, 2023
beeeed4
optional alternative mish implementation (#1841)
borg323 Feb 12, 2023
db7d44f
check mkl.h exists on the path when building (#1831)
borg323 Feb 12, 2023
d019a4e
simple directml.dll installation script (#1832)
borg323 Feb 12, 2023
a656d97
improve cuda compute capability handling (#1833)
borg323 Feb 12, 2023
3a7179c
option for onnx threads (#1848)
borg323 Feb 15, 2023
efff1ef
separate build system control for f16c instructions (#1849)
borg323 Feb 15, 2023
93bba9e
fix numa bug (#1854)
borg323 Feb 27, 2023
63e2eec
update non backend code for attention body (#1858)
borg323 Mar 28, 2023
180a80c
update eigen to 3.4.0 (#1859)
borg323 Mar 28, 2023
791cce4
Attention body support for blas / eigen / mkl (#1852)
almaudoh Mar 29, 2023
7366d7f
onnx attention body (#1806)
borg323 Mar 29, 2023
b614863
rename activations (#1860)
borg323 Mar 29, 2023
88ec4a6
permanent fix for old ab nets (#1861)
borg323 Mar 29, 2023
ec2532a
Attention body for metal backend (#1807)
almaudoh Mar 31, 2023
f39ad6c
Attentionbody cuda (#1821)
almaudoh Apr 12, 2023
eea512c
Merge branch 'master' into policy_tournament
Tilps Apr 17, 2023
5e5825f
Merge branch 'policy_tournament' into value_tournament
Tilps Apr 17, 2023
4aad475
Fix ninja detection on some platforms. (#1850)
ddobbelaere Apr 17, 2023
20c28fb
Refactor probuf compilation (#1865)
mooskagh Apr 17, 2023
6df87ad
Provide Python bindings as a package. (#1856)
ddobbelaere Apr 18, 2023
c3a8fb7
blas buffer fix (#1867)
borg323 Apr 18, 2023
ebdd8c4
Update metal proto enums to match new proto updates in PR #1865 (#1870)
almaudoh Apr 19, 2023
3c5392d
add a mac build to circleci (#1869)
borg323 Apr 23, 2023
cddfd53
change onnx-dml default steps (#1873)
borg323 Apr 24, 2023
5108482
update changelog and version before branch (#1872)
borg323 Apr 24, 2023
40ba785
replace g++-7 reference from readme (#1881)
borg323 May 2, 2023
d258485
fix ispc on arm64 mac (#1880)
borg323 May 2, 2023
eed9f57
Update describenet for new net archs (#1868)
almaudoh May 2, 2023
905d88e
Change mlh threshold effect to create a smooth transition (#1844)
Naphthalin May 21, 2023
53b31ae
WDL Conversion for more realistic WDL and contempt (#1791)
Naphthalin May 28, 2023
9871822
Package the client only with cuda (#1884)
borg323 May 28, 2023
f5b4ca9
fix incllude files (#1886)
borg323 May 28, 2023
d074c7a
fix build.sh exit code (#1892)
borg323 May 28, 2023
59c4697
Modify legacy TM to allow a bonus for first move if we expect shallow…
Naphthalin May 29, 2023
881407b
fix empty contempt handling (#1893)
borg323 Jun 2, 2023
874e050
Revised 'simple' TM (#1876)
trre123 Jun 2, 2023
7815597
Use back-off spin to wait for available searcher (#1890)
pdeng6 Jun 2, 2023
3e94e8d
simplify cuda architectures used (#1885)
borg323 Jun 13, 2023
f595ba8
rename contempt perspective to contempt mode (#1895)
borg323 Jun 13, 2023
a22f7de
Drawscore simplification for Armageddon (#1894)
Naphthalin Jun 14, 2023
37930b6
handle play contempt mode with infinite search (#1898)
borg323 Jul 8, 2023
2647641
changed default values for mlh-threshold, centipawn fallback for WDL_…
Naphthalin Jul 19, 2023
4e314e5
rework selection of cuda build architecture (#1905)
borg323 Jul 30, 2023
4e2baee
add support for onnxruntime-rocm to the onnx backend (#1897)
borg323 Jul 30, 2023
2146388
fix build error with newer cuda versions (#1908)
borg323 Jul 30, 2023
076299b
add support for go mate (#1830)
borg323 Aug 29, 2023
f19cdb1
Optimize blas memory buffer use. (#1862)
borg323 Aug 29, 2023
90a76af
Update windows_build.md (#1909)
Ergodice Aug 29, 2023
13a14bc
get macos ispc from github for circleci (#1912)
borg323 Aug 30, 2023
1aca902
cudnn switch to cuda for attention body nets (#1556)
borg323 Sep 7, 2023
8bd14e7
first version of easy interface (#1746)
borg323 Sep 7, 2023
208e718
Fix layernorm epsilon for smolgen weights. (#1914)
almaudoh Sep 7, 2023
a8b3cd7
fix Float16_t related onnx build issues (#1918)
borg323 Sep 27, 2023
c285401
onnx fix for opset 7 (#1919)
borg323 Sep 27, 2023
a2f98f7
onnx2leela options to fix tf exported onnx models (#1928)
borg323 Nov 14, 2023
8539794
allow backends to suggest minibatch size (#1877)
borg323 Nov 14, 2023
ed4e669
Make leela2onnx Conv-nodes compatible with onnx2pytorch (#1924)
patrik-ha Nov 14, 2023
3e3a982
auto setting of threads and task workers (#1930)
borg323 Dec 8, 2023
3f4c157
Skip proactively wake up TaskWorkers for cpu backend (#1931)
pdeng6 Dec 12, 2023
16f04df
Fix TaskWorkers range (#1933)
skiminki Dec 13, 2023
26f41f8
Create CITATION.cff (#1934)
AlexisOlson Dec 15, 2023
c774d69
Update readme to refer to latest 0.30 release (#1939)
linrock Jan 4, 2024
d89a456
Fix Typo (#1943)
fffelix-huang Jan 16, 2024
7de98a1
Move the format checks from ONNX backend to ONNX converter. (#1947)
mooskagh Feb 4, 2024
f8d02bb
fix rook positions after clearing board (#1942)
borg323 Feb 21, 2024
5d83073
Make the sharpness limit in WDLRescale configurable, and fix the Elo …
Naphthalin Feb 21, 2024
b6236e4
Fix unsigned int conversion from cpp to Python. (#1952)
revalo Feb 21, 2024
3b9a87e
warning fixes (#1955)
borg323 Feb 24, 2024
04f73fc
XLA backend for Lc0 (#1949)
mooskagh Feb 24, 2024
738c4aa
upstream the rescorer (#1957)
borg323 Feb 26, 2024
33f85cb
Support outputting HLO in leela2onnx (#1956)
mooskagh Feb 26, 2024
0637a12
Merge branch 'LeelaChessZero:master' into policy_tournament
Tilps Mar 1, 2024
0d6ffa1
Merge branch 'policy_tournament' into value_tournament
Tilps Mar 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 4 additions & 6 deletions .circleci/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
FROM floopcz/tensorflow_cc:ubuntu-shared-cuda
ARG DEBIAN_FRONTEND=noninteractive

RUN wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB && apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB && sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list' && apt-get update && apt-get install -y intel-mkl-64bit-2018.2-046
RUN apt-get install -y clang-6.0 ninja-build python3-pip nvidia-opencl-dev libopenblas-dev libboost-dev nvidia-cuda-dev nvidia-cuda-toolkit libgtest-dev git ssh tar gzip ca-certificates sudo
RUN apt-get install -y clang ninja-build python3-pip nvidia-opencl-dev libopenblas-dev libboost-dev libgtest-dev git ssh tar gzip ca-certificates libeigen3-dev sudo
RUN apt-get install -y g++-8
RUN apt-get install -y cuda
RUN pip3 install meson
RUN ln -s /usr/include/ /usr/include/openblas

RUN curl -OL https://github.com/google/protobuf/releases/download/v3.5.1/protoc-3.5.1-linux-x86_64.zip
RUN unzip protoc-3.5.1-linux-x86_64.zip -d protoc3
RUN sudo mv protoc3/bin/* /usr/local/bin/
RUN sudo mv protoc3/include/* /usr/local/include/
64 changes: 52 additions & 12 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: 2
jobs:
build:
docker:
- image: danieluranga/leela_chess_zero-lc0_ubuntu_builder:0.0.4
- image: danieluranga/leela_chess_zero-lc0_ubuntu_builder:0.0.8
steps:
- checkout
- run:
Expand All @@ -11,18 +11,58 @@ jobs:
git submodule init
git submodule update --remote
- run:
name: Build clang version
command: CC=clang-6.0 CXX=clang++-6.0 ./build.sh
name: Update Meson
command: pip3 install --upgrade meson==0.58.1
- run:
command: cp build/release/lc0 /tmp/lc0-clang
name: Meson GCC
environment:
CC: gcc-8
CXX: g++-8
command: meson build-gcc -Dgtest=false
- run:
name: Build g++ version
command: ./build.sh
name: Build GCC
command: |
cd build-gcc
ninja -j 4
"mac":
macos:
xcode: 13.4.1
steps:
- checkout
- run:
command: cp build/release/lc0 /tmp/lc0-g++
- store_artifacts:
path: /tmp/lc0-clang
destination: lc0-ubuntu-18-04-clang
name: "Pull Submodules"
command: |
git submodule init
git submodule update --remote
- run:
name: Install build tools
command: |
pip3 install meson==0.63
pip3 install ninja
curl -LJOs https://github.com/ispc/ispc/releases/download/v1.21.0/ispc-v1.21.0-macOS.universal.tar.gz
tar xf ispc-v1.21.0-macOS.universal.tar.gz
cp ispc-v1.21.0-macOS.universal/bin/ispc /usr/local/bin
- run:
name: Build lc0
command: |
meson build --buildtype=release -Dgtest=false -Dopencl=false
cd build
ninja
- run:
name: Build lc0 arm
command: |
meson build-arm --buildtype=release -Dgtest=false -Dopencl=false --cross-file cross-files/aarch64-darwin
cd build-arm
ninja
- run:
name: Make universal binary
command: lipo -create -o /tmp/lc0 build/lc0 build-arm/lc0
- store_artifacts:
path: /tmp/lc0-g++
destination: lc0-ubuntu-18-04-g++
path: /tmp/lc0
destination: lc0-macos_12.3.1
workflows:
version: 2
builds:
jobs:
- build
- "mac"
4 changes: 2 additions & 2 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
Language: Cpp
BasedOnStyle: Google
DerivePointerAlignment: false
...

---
Language: Proto
65 changes: 65 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**WARNING: Please only use GitHub issues for BUG REPORTS and FEATURE REQUESTS**
Lengthy algorithm discussions etc are fine too, but also consider creating a wiki page or a page on website.

Here is what to do with other types of questions:
1. Build problems: ask in #help channel in our discord: https://discord.gg/pKujYxD
2. Configuration questions: ask in #help channel in our discord: https://discord.gg/pKujYxD
3. Running problems: ask in #help channel in our discord: https://discord.gg/pKujYxD


If you are filing a bug report, please fill the fields below.
Otherwise, feel free to remove this text and type a free-form issue as usual.

BUG REPORT

**Describe the bug**
A clear and concise description of what the bug is.

**Steps to Reproduce**
1.
2.
3.
4.
Expected behavior:
Observed behavior:

**Lc0 version**
Include Lc0 version/operating system/backend type.

**Lc0 parameters**
Command line, if not default.
Include screenshot of configuration window, if using through GUI.

**Hardware**
* Number and model of GPUs that you use.
* Amount of RAM in the system
* Other specs (CPU etc) if it may be relevant

**Lc0 logs**
Please attach Lc0 logs. Here is how to produce them (e.g. for D:\logfile.txt):

Set the following UCI option:
**Logfile:** D:\\logfile.txt
OR
pass this as a command line argument:
`--logfile=D:\logfile.txt`
OR
Create **lc0.config** file in the same directory as your **lc0.exe** is located, with the following contents:
```
logfile=D:\logfile.txt
```

After running Lc0, **D:\logfile.txt** should appear.


**Chess GUI logs**
If there is a problem with particular GUI (cutechess/arena/etc), also attach logs of that program.
24 changes: 17 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,20 @@
!subprojects/*.wrap
*.swp
.clang_complete
.DS_Store
.cache/
.clangd/
build/
testdata/
LC0VSProj/
__pycache__/
compile_commands.json
CUDA_NN/
.DS_Store
xcuserdata
subprojects/*
!subprojects/*.wrap
lc0.xcodeproj/
*.swp
LC0VSProj/
src/.vs/
subprojects/*
testdata/
xcuserdata
.clang-tidy
compile_flags.txt
.vscode
.mesonpy*
17 changes: 17 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
cff-version: 1.2.0
title: LeelaChessZero
type: software
authors:
- name: The LCZero Authors
repository-code: 'https://github.com/LeelaChessZero/lc0'
url: 'https://lczero.org/'
repository-artifact: 'https://github.com/LeelaChessZero/lc0/releases/'
abstract: >-
Lc0 is a UCI-compliant chess engine designed to play chess
via neural network, specifically those of the
LeelaChessZero project.
keywords:
- chess
- neural networks (NN)
- artificial intelligence (AI)
license: GPL-3.0
14 changes: 2 additions & 12 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

These are the guidelines and standards followed by this codebase.

The language is C++, specifically C++14. As such, manual `new` and `delete` memory mangement is strongly discouraged; use the standard library tools for managing memory (such as `unique_ptr`, `shared_ptr` etc.). When compiler support is more widespread, the project may upgrade to the C++17 standard in the future.
The language is C++, specifically C++17. As such, manual `new` and `delete` memory mangement is strongly discouraged; use the standard library tools for managing memory (such as `unique_ptr`, `shared_ptr` etc.).

This codebase uses semantic versioning. A release is the final commit for that version number, and all subsequent commits are development for the next version. `master` is the default branch, and the active development branch (as such, all Pull Requests go here); it always targets a minor (or major) version which succeeds the current relase. `release` is always equivalent to the latest tag.

Expand Down Expand Up @@ -56,21 +56,11 @@ The internal code dependency structure looks like this:

### Git history

Pull Requests are squahsed when merged. This means all commits in the branch will be squashed into one commit applied onto master, so branches and their PRs should stick to *one* topic only. If you think changes deserve separate commits, make separate PRs for each commit.
Pull Requests are squashed when merged. This means all commits in the branch will be squashed into one commit applied onto master, so branches and their PRs should stick to *one* topic only. If you think changes deserve separate commits, make separate PRs for each commit.

This also means it's not possible to reuse one branch for multiple PRs; new PRs must either use entirely new branches, or else you could use `git reset --hard` on the current branch.


### Command line/UCI options

The options code handles both UCI options and command line options at the same time; in fact they are one and the same. Each option has a "flag name" and a "description". The flag name is used as the command line `--flag-name`. The description serves a dual purpose: it is the text printed by `./lc0 --help`, but it also serves as the *name* of the UCI option as well. Therefore the description should:

* Not end with a period (per the UCI specification)
* Be clear and succinct, to serve as both a help message and standalone UCI option name
* Be short (to fit as a UCI option in chess GUIs)
* Be different from the flag name (since it's a help message)


### Allowed features

Lc0 is still in early stages of development, and has not yet reached the point where we are ready to add small tweaks to add few points of a rating. Large code changes still happen, and having lots of small optimizations adds overhead to larger changes, slowing development.
Expand Down
6 changes: 3 additions & 3 deletions FLAGS.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ List of command line flags:
|------|---------------|-------------|
| -w PATH,<br>--weights=PATH | Network weights file path | Path to load network weights from.<br>Default is `<autodiscover>`, which makes it search for the latest (by file date) file in ./ and ./weights/ subdirectories which look like weights. |
| -t NUM,<br>--threads=NUM | Number of worker threads | Number of (CPU) threads to use.<br> Default is `2`. There's currently no use of making it more than 3 as it's limited by mutex contention which is yet to be optimized. |
| --nncache=SIZE | NNCache size | Number of positions to store in cache.<br>Default: `200000` |
| --nncache=SIZE | NNCache size | Number of positions to store in cache.<br>Default: `2000000` |
| <nobr>--backend=BACKEND</nobr><br><nobr>--backend-opts=OPTS</nobr> | NN backend to use<br>NN backend parameters | Configuration of backend parameters. Described in details [here](#backendconfiguration).<br>Default depends on particular build type (cuDNN, tensorflow, etc.). |
| --slowmover=NUM | Scale thinking time | Parameter value `X` means that the whole remaining time is split in such a way that the current move gets `X × Y` seconds, and next moves will get `1 × Y` seconds. However, due to smart pruning, the engine usually doesn't use all allocated time.<br>Default: `2.2`|
| <nobr>--move-overhead=NUM</nobr> | Move time overhead in milliseconds | How much overhead should the engine allocate for every move (to counteract things like slow connection, interprocess communication, etc.).<br>Default: `100` ms. |
Expand All @@ -52,7 +52,7 @@ List of command line flags:
| --fpu-reduction=NUM | First Play Urgency reduction | Default: `0.2` |
| --cache-history-length=NUM | The length of history to include in the cache | Default: `7` |
| --extra-virtual-loss=NUM | Extra virtual loss | Default: `0` |
| -l,<br>--debuglog=FILENAME | Do debug logging into a file | Default is off (empty string) |
| -l,<br>--logfile=FILENAME | Do debug logging into a file | Default is off (empty string) |


## Configuration Files
Expand All @@ -65,7 +65,7 @@ List of command line flags:
# The -- is optional. The following flags will work as well:
weights=10445.txt.gz
syzygy-paths=syzygy
debuglog=lc0.log
logfile=lc0.log
```
You can tell `lc0` to ignore the default configuration file by passing `--config=` on the command line. Command line arguments will override any arguments that also exist in the configuration file.

Expand Down
Loading