Skip to content
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

Nnue1 #318

Open
wants to merge 513 commits into
base: master
Choose a base branch
from
Open

Nnue1 #318

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
513 commits
Select commit Hold shift + click to select a range
ca41ee6
Revert LTO for mingw on windows.
vondele Jun 27, 2020
de24fce
Fix fragile code to use proper random 64 bit keys.
Jun 27, 2020
547c4a2
Remove old zobrist trick for castling rights
Jun 26, 2020
2810a1e
Increase value of pawns on fifth rank
snicolet Jun 28, 2020
16836f3
Scale down eval for drawish rook endgames.
locutus2 Jun 28, 2020
c7194bd
Scale down eval for queen imbalance
snicolet Jun 28, 2020
69d3be4
Tweak single queen endgame scaling.
locutus2 Jun 29, 2020
1100688
Provide WDL statistics
vondele Jun 27, 2020
268c00b
Use arrays
Rocky640 Jul 1, 2020
fb83da0
Set UCI_ShowWDL by default to false
vondele Jul 2, 2020
67818ee
Remove passed pawn condition.
SFisGOD Jul 1, 2020
c5b2a92
denormalize KRKP.
Jun 30, 2020
7225d25
Add a rank based bonus for blocked pawns.
locutus2 Jul 6, 2020
76a0390
Clean-up en passant processing
Rocky640 Jul 7, 2020
804a29c
Connected / blocked pawns simplification
FauziAkram Jul 7, 2020
bf5ce1c
Simplify make_promotions()
Jul 5, 2020
4006f2c
Small cleanups
vondele Jul 9, 2020
5e91c5d
Maximize usage of transposition table in probcut
Vizvezdenec Jul 10, 2020
1f3bd96
Introduce bad outpost penalty
SFisGOD Jul 8, 2020
6c197c3
Corrects a functional change in a cleanup patch.
syzygy1 Jul 11, 2020
c3092c5
Multiple lazy stages.
Jul 12, 2020
d89730d
Do not overwrite valuable TT data after probcut.
Vizvezdenec Jul 13, 2020
f0abde2
Remove conditional_more_than_two().
Jul 25, 2020
62d3106
Remove late irreversible move extension
unaiic Jul 25, 2020
33f3cfa
Improve handling of queen imbalance
snicolet Jul 28, 2020
9587eee
Tweak cutnode reduction
locutus2 Jul 30, 2020
84f3e86
Add NNUE evaluation
nodchip Aug 5, 2020
3dca13a
NNUE evaluation threshold
MJZ1977 Aug 6, 2020
8b8412e
Add tempo also to NNUE eval.
locutus2 Aug 6, 2020
af93536
Tuned pawn values
FauziAkram Aug 7, 2020
7f336dd
Remove QueenInfiltration
unaiic Aug 4, 2020
615d98d
Do move legality check before pruning.
locutus2 Aug 5, 2020
857e045
Update default net to nn-9931db908a9b.nnue
sergiovieri Aug 7, 2020
dc5af66
Tweak futility pruning depth.
unaiic Aug 8, 2020
5ccff25
Expand outposts to minors shielded by pawns
Lolligerhans Aug 7, 2020
f4c27cd
Reintroduce late irreversible move extension
SFisGOD Aug 7, 2020
910f779
Do more futility pruning for parent nodes.
Vizvezdenec Aug 8, 2020
23ecf3d
simplified and increased threshold to switch between NNUE and classical
jjoshua2 Aug 7, 2020
450b60a
Remove unnecessay legality check
loco-loco Aug 8, 2020
3368d03
update Null Move Pruning parameters
MJZ1977 Aug 8, 2020
e663bc5
Do more aggressive futility pruning for captures
Vizvezdenec Aug 8, 2020
6d6267c
Parallelize Link Time Optimization for GCC, CLANG and MINGW
gvreuls Aug 8, 2020
1949eb8
Singular extension search tweak
unaiic Aug 8, 2020
add890a
LMR search tweak
unaiic Aug 8, 2020
d7a2689
Use fallback implementation for C++ aligned_alloc
ddugovic Aug 8, 2020
320fa1b
Improve error message on missing net.
vondele Aug 9, 2020
cd1bb27
Fix aligned_alloc on MinGW
vondele Aug 9, 2020
2bfde55
Adjust NNUE usage based on number of pawns in position
Vizvezdenec Aug 9, 2020
a6e8929
Avoid special casing for MinGW
dorzechowski Aug 9, 2020
27b593a
Fix a data race for NNUE
vondele Aug 9, 2020
651ec3b
Revert "Avoid special casing for MinGW"
vondele Aug 10, 2020
bcdf41d
Update default net to nn-112bb1c8cdb5.nnue
sergiovieri Aug 10, 2020
a54f901
simplying hybrid condition
jjoshua2 Aug 9, 2020
875183b
Workaround using unaligned loads for gcc < 9
Aug 10, 2020
ad2ad4c
Modify castling extension
SFisGOD Aug 10, 2020
cb05040
Makefile rework/cleanup
sf-x Aug 9, 2020
f948cd0
Cleanup and optimize SSE/AVX code
Aug 9, 2020
21df37d
Provide vectorized NNUE code for SSE2 and MMX targets
Fanael Aug 9, 2020
220ef1d
Assorted search parameter tune
unaiic Aug 10, 2020
a72cec1
Add comments to probCut code
Vizvezdenec Jul 18, 2020
4ab8b0b
Fix parallel LTO issues on Windows
gvreuls Aug 11, 2020
399cddf
More aligned_alloc changes to support Android
vondele Aug 10, 2020
f46c730
Fix AVX512 build with older compilers
Aug 10, 2020
ea6220f
This commit enables a mixed bench, to improve CI and allow for PGO (p…
gvreuls Aug 7, 2020
ee06046
Tweak castling extension
SFisGOD Aug 10, 2020
992f549
Restrict avx2 hack to windows target
vondele Aug 11, 2020
6bc0256
Use posix_memalign for Apple Silicon instead of _mm_malloc
daylen Aug 11, 2020
dd63b98
Add support for VNNI
Aug 11, 2020
69cfe28
Output the SSE2 flag in compiler_info
vondele Aug 12, 2020
67e4841
Update default net to nn-82215d0fd0df.nnue
sergiovieri Aug 12, 2020
e8ea215
Clean-up Makefile help
snicolet Aug 13, 2020
ce009ea
Verify SHA of downloaded net file
vondele Aug 13, 2020
e5f450c
Also dampen NNUE eval with 50 move rule
miguel-l Aug 10, 2020
6eb186c
Try to match relative magnitude of NNUE eval to classical
Aug 14, 2020
cd0b8b4
Use NNUE more for fortresses
vondele Aug 14, 2020
8cf43c6
Display NEON in compiler string
daylen Aug 15, 2020
72dc7a5
Assume network file is in little-endian byte order
syzygy1 Aug 15, 2020
65572de
Add further targets to travis testing
vondele Aug 16, 2020
81d716f
Reformat code in little-endian patch
snicolet Aug 16, 2020
0e17a89
Simplify away the passed pawn extension
unaiic Aug 17, 2020
65b9764
Support building for Android using NDK
notruck Aug 16, 2020
1c0b7bd
Remove history bonus from Eval
VoyagerOne Aug 17, 2020
581b92e
Remove last captures extension
unaiic Aug 17, 2020
1bcc981
Fallback to NNUE
Aug 16, 2020
fbae561
Fix Makefile typo
vondele Aug 18, 2020
384d684
Better error message on missing curl/wget
vondele Aug 18, 2020
42e8789
Expanded support for x86-32 architectures.
syzygy1 Aug 17, 2020
2deb08a
Reintroduce last captures extension
SFisGOD Aug 18, 2020
a1ad860
Send error message as an UCI info string
vondele Aug 19, 2020
daac866
Set Use NNUE by default to true
vondele Aug 20, 2020
8b45b1c
Deal with very old linux kernels
vondele Aug 21, 2020
15abcae
Update Makefile for macOS
gsobala Aug 21, 2020
e64b957
Simplify away internal iterative deepening
unaiic Aug 21, 2020
cbcb05c
Display classic and NNUE evaluation in trace mode
MJZ1977 Aug 21, 2020
34f67c5
Explicitly rely on pthreads if possible
vondele Aug 21, 2020
3542033
Instructions to build on older Macintosh
snicolet Aug 22, 2020
5f1843c
Small trivial cleanups
vondele Jul 11, 2020
cc9d503
Skip the alignment bug workaround for Clang
syzygy1 Aug 22, 2020
d5f86b6
Introduce movecount pruning for qsearch()
Vizvezdenec Aug 23, 2020
e453f09
armv8 AArch64 does not require -mfpu=neon
gsobala Aug 24, 2020
701b242
Support VNNI on 256bit vectors
Aug 20, 2020
f7b3f0e
Allow TT entries with key16==0 to be fetched
skiminki Aug 21, 2020
843a961
Introduce countermove based pruning for qsearch
Vizvezdenec Aug 24, 2020
530fccb
Allow for VNNI256 compilation with g++-8
Aug 24, 2020
b0b4ca1
Check ARCH=.... variable
vondele Aug 24, 2020
9b49670
Remove EvalList
syzygy1 Aug 24, 2020
95b8f3f
Remove Reduce Depth
VoyagerOne Aug 23, 2020
242a7d9
Simplify MCP in QS
VoyagerOne Aug 25, 2020
406979e
Embed default net, and simplify using non-default nets
snicolet Aug 23, 2020
e4ed7d3
Cleaner make help
vondele Aug 26, 2020
d90d893
Reintroduce depth reduction
unaiic Aug 28, 2020
c02b3a4
Add / remove leaves from search tree ttPv
MJZ1977 Aug 28, 2020
9b5b9ec
QS Pruning Simplification
VoyagerOne Aug 30, 2020
e0bafa1
Update parametes in classical evaluation.
FauziAkram Aug 30, 2020
a0afe32
Use stable sort to make sure bench with TB yields same results everyw…
Aug 31, 2020
a057f17
Use llvm linker with clang on windows for LTO.
Aug 31, 2020
6138137
Always print an info line before a bestmove
vondele Aug 31, 2020
a8bbaa1
LMR Root Node Simplification
VoyagerOne Aug 30, 2020
be87517
Only use MADV_RANDOM if defined
vondele Sep 1, 2020
aa2de71
Update CPU contributors list
vondele Sep 2, 2020
c306d83
Stockfish 12
vondele Sep 2, 2020
571c2d6
Restore development version
vondele Sep 4, 2020
0e1f734
Less pruning in qsearch
unaiic Sep 2, 2020
d6530f7
Simplify singularQuietLMR
unaiic Sep 3, 2020
2a69611
LMR Simplification
VoyagerOne Sep 2, 2020
9cc482c
Update default net to nn-308d71810dff.nnue
sergiovieri Sep 3, 2020
9a063fc
Adjust penalty on refuted early quiet moves
Vizvezdenec Sep 4, 2020
d539da1
Use classical eval more often
SFisGOD Sep 4, 2020
fc27d15
Bug fix in do_null_move() and NNUE simplification.
syzygy1 Sep 6, 2020
d2562cd
Always re-enable NNUE after "bench".
gcp Sep 8, 2020
0405f35
Double probability of using classical eval
SFisGOD Sep 6, 2020
35ab825
Simplify StatSCore Initialization
loco-loco Sep 14, 2020
7135678
Update default net to nn-03744f8d56d8.nnue
sergiovieri Sep 14, 2020
5f426d8
Use 2 * bestMoveChanges.
Sep 10, 2020
d86663a
Improve NDK section in Makefile
syzygy1 Sep 13, 2020
df43805
Added FEN string to bench output
GoldenRare Sep 10, 2020
0ca93c5
Remove castling extension
unaiic Sep 16, 2020
64a6346
Simplify futility pruning for captures
unaiic Sep 16, 2020
8b8a510
Use tiling to speed up accumulator refreshes and updates
syzygy1 Sep 16, 2020
8559c43
Simplify reduced depth search
unaiic Sep 20, 2020
16b4578
Tweak hybrid treshold.
locutus2 Sep 20, 2020
485d517
Add large page support for NNUE weights and simplify TT mem management
skiminki Aug 30, 2020
9a64e73
Small cleanups 12
snicolet Sep 9, 2020
3d5b2c8
Increase reductions with the number of threads
snicolet Sep 22, 2020
5e6a5e4
Suppress info strings before 'uci'
snicolet Sep 24, 2020
f66c381
Switch to NNUE eval probabilistically for OCB
SFisGOD Sep 23, 2020
1dbd2a1
Tweak nnue scaling to keep more material
snicolet Sep 26, 2020
c065abd
Use incremental updates more often
noobpwnftw Sep 27, 2020
36c2886
Update default net to nn-04a843f8932e.nnue
vondele Sep 26, 2020
a5e68d9
Adjust null move pruning constants
Vizvezdenec Sep 28, 2020
ba46599
Tweaking Mobility and Safe Check
FauziAkram Sep 28, 2020
5efbaab
Update default net to nn-baeb9ef2d183.nnue
SFisGOD Sep 28, 2020
6f0aa18
Tweak reduction formula.
locutus2 Sep 28, 2020
5af09cf
Include pawns in NNUE scaling
snicolet Sep 28, 2020
9382f85
Schedule threads fairly under valgrind
vondele Sep 30, 2020
17fb3a8
Simplify away futility pruning for captures
unaiic Oct 2, 2020
767b4f4
Pawn Tuning
FauziAkram Oct 2, 2020
ba73f8c
Update default net to nn-04cf2b4ed1da.nnue
vondele Oct 14, 2020
4a5cc13
RookOnQueenFile Removal
FauziAkram Oct 6, 2020
288a604
Scale factor tweak
unaiic Oct 12, 2020
281d520
Update default net to nn-eba324f53044.nnue
Oct 18, 2020
560c776
Do more reductions for late quiet moves in case of consecutive fail h…
Vizvezdenec Oct 17, 2020
f5dfad5
Reduce big time spikes by reducing PV re-searches.
Oct 21, 2020
258af8a
Add net as dependency of config
vondele Oct 18, 2020
2046d5d
More incremental accumulator updates
syzygy1 Oct 20, 2020
bde3505
Bishop Pawns based on Files
FauziAkram Oct 23, 2020
6328135
Update default net to nn-2eb2e0707c2b.nnue
SFisGOD Oct 27, 2020
0f6c08c
Do not skip non-recapture ttMove when in check
syzygy1 Oct 27, 2020
dfc7f88
Update default net to nn-cb26f10b1fd9.nnue
Oct 30, 2020
75e06a1
Optimize affine transform for SSSE3 and higher targets.
Sopel97 Oct 28, 2020
931070b
Elo Worth in King Danger
FauziAkram Oct 29, 2020
a260c9a
Fix incorrect pruning in qsearch
joergoster Nov 1, 2020
3f6451e
Manually align arrays on the stack
Sopel97 Nov 3, 2020
04a3206
Change handling the special case of a single legal move.
vondele Oct 23, 2020
7fc47ee
Introducing King On File
FauziAkram Nov 4, 2020
ba35c88
AVX-512 for smaller affine and feature transforms.
Sopel97 Nov 3, 2020
32edb1d
Update default net to nn-c3ca321c51c9.nnue
SFisGOD Nov 7, 2020
392b529
Qsearch pruning: follow-up
snicolet Nov 6, 2020
b578115
Increase reduction based on the number of best move changes.
lonfom169 Nov 9, 2020
285bf70
Increase reduction at root
SFisGOD Nov 10, 2020
f959582
Rook Mobility Tweak
FauziAkram Nov 11, 2020
027626d
Small cleanups 13
snicolet Nov 12, 2020
9fb6383
Assorted search and eval parameter tune
unaiic Nov 24, 2020
7615e34
Calculate sum from first elements
MaximMolchanov Nov 14, 2020
190dd26
use classical for certain endgames.
Vizvezdenec Nov 26, 2020
9b7983a
Cleaned up MakeIndex()
Nov 17, 2020
d6d6972
Refine rook penalty on closed files
Lolligerhans Nov 20, 2020
66da1e8
Remove bonus for killers.
lonfom169 Nov 26, 2020
6c429c4
Search simplification
unaiic Nov 28, 2020
2bc4ae1
Update README.md
unaiic Nov 29, 2020
045728a
Remove piece lists
syzygy1 Nov 29, 2020
2442ba2
Reductions simplification
unaiic Nov 29, 2020
7364006
Update default net to nn-62ef826d1a6d.nnue
SFisGOD Nov 28, 2020
be7a03a
Introduce static history
Vizvezdenec Dec 5, 2020
8630d03
Add comments to uncommented parts of code
Vizvezdenec Dec 1, 2020
c7f0a76
Use arithmetic right shift for sign extension in MMX and SSE2 paths
Fanael Dec 7, 2020
d706ae6
New Imbalance Tables Tweak
FauziAkram Dec 7, 2020
d862ba4
AVX512, AVX2 and SSSE3 speedups
Dec 12, 2020
16adcb5
Merge static history into main history,
Dec 13, 2020
a88a38c
Increase reduction in case of stable best move
Vizvezdenec Dec 14, 2020
66a7a8a
Adjust definition of unsafeSquares
FauziAkram Dec 16, 2020
1f3b5b8
Simplify condition for assigning static-eval based bonus
Dec 14, 2020
45b0532
Tweak the formulas for unsafeSquares
FauziAkram Dec 20, 2020
b06ef36
Correct Outflanking calculations in classical eval
MJZ1977 Dec 20, 2020
51deae8
Do more LMR for captures
Vizvezdenec Dec 24, 2020
4262461
Tweak capture LMR.
locutus2 Dec 31, 2020
c57c71b
Assorted parameter tweak
unaiic Dec 30, 2020
8985c21
Simplify away late irreversible move extension
unaiic Dec 27, 2020
8ec97d1
Remove razoring
unaiic Dec 26, 2020
d21e421
WeakUnopposed penalty for backwards on file A or H
FauziAkram Dec 25, 2020
23c385e
Affine transform refactoring.
MaximMolchanov Jan 6, 2021
2c1be0b
Reorder conditions in LMR and pruning
Vizvezdenec Jan 1, 2021
c4d67d7
Update copyright years
vondele Jan 8, 2021
4d30438
Remove Condition from Generate_Move Loop
BM123499 Jan 10, 2021
303713b
Affine transform robust implementation
MaximMolchanov Jan 11, 2021
b1bb376
Small code cleanup in LMR
Vizvezdenec Jan 10, 2021
87586b3
Use correct chess terms + fix spelling.
ddobbelaere Jan 9, 2021
0266e70
Fix static_assert.
ddobbelaere Jan 10, 2021
5f222f1
Rethink En Passant Evasion Capture
BM123499 Jan 8, 2021
37c2b56
Refine stat based reductions
Vizvezdenec Jan 9, 2021
ee3f7b6
Bad Outpost Pawn Scale
FauziAkram Jan 9, 2021
6dddcec
Optimize generate_moves
Sopel97 Jan 10, 2021
77eeea4
Add penalty for doubled pawns in agile structure
Lolligerhans Jan 12, 2021
329ef2a
Change lock type
kuzkry Dec 31, 2020
b7f643f
Add .gitignore
johnsonr Jan 4, 2021
1188141
Improve play for closed positions
snicolet Jan 21, 2021
70a818c
Small cleanups
Lolligerhans Jan 12, 2021
7d0a16e
Avoid more expensive legality check
BM123499 Jan 16, 2021
befbcff
Clean Up Castling in gives_check
BM123499 Jan 18, 2021
0db3747
Speed Up Perft Search
BM123499 Jan 19, 2021
dd96095
Simplify Chess 960 castling
BM123499 Jan 17, 2021
6617ad6
Tune ordering of moves at internal nodes
BM123499 Jan 31, 2021
9f8058b
Simplify En Passant
BM123499 Jan 31, 2021
5ebdc40
Pawns Tuning
FauziAkram Feb 7, 2021
29ed22d
Search Parameters Tuning
BM123499 Feb 5, 2021
1f87a9e
Fixes FreeBSD compilation when using Clang
Cubox Feb 8, 2021
b15e3b3
Disable ThinLTO when using Clang.
gcp Feb 9, 2021
550fed3
Enable New Pass Manager for Clang.
gcp Feb 9, 2021
573f0e3
Better code for hash table generation
mattginsberg Feb 11, 2021
76daa88
PV-Nodes likely to fail low
Vizvezdenec Feb 11, 2021
b46813f
Update Top CPU Contributors
snicolet Feb 15, 2021
40cb0f0
Small trivial clean-ups, February 2021
Lolligerhans Jan 31, 2021
9f6d69c
Update README.md
snicolet Feb 16, 2021
3597f19
Stockfish 13
vondele Feb 15, 2021
a31007c
Restore development version
snicolet Feb 20, 2021
6294db7
Tune search parameters (with Unai Corzo)
Vizvezdenec Feb 19, 2021
7c30091
Introduce ProbCut for check evasions
Vizvezdenec Feb 20, 2021
f1973f3
Update evaluate.h
mathsy Feb 23, 2021
f23f38c
Update ucioption.cpp
mathsy Feb 26, 2021
7bb0367
Update ucioption.cpp
mathsy Feb 26, 2021
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
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Files from build
**/*.o
**/*.s
src/.depend

# Built binary
src/stockfish*
src/-lstdc++.res

# Neural network for the NNUE evaluation
**/*.nnue

64 changes: 44 additions & 20 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
language: cpp
sudo: required
dist: xenial
dist: bionic

matrix:
include:
- os: linux
compiler: gcc
addons:
apt:
sources: ['ubuntu-toolchain-r-test']
packages: ['g++-8', 'g++-8-multilib', 'g++-multilib', 'valgrind', 'expect', 'curl']
env:
- COMPILER=g++-8
Expand All @@ -18,23 +16,23 @@ matrix:
compiler: clang
addons:
apt:
sources: ['ubuntu-toolchain-r-test', 'llvm-toolchain-xenial-6.0']
packages: ['clang-6.0', 'llvm-6.0-dev', 'g++-multilib', 'valgrind', 'expect', 'curl']
packages: ['clang-10', 'llvm-10-dev', 'g++-multilib', 'valgrind', 'expect', 'curl']
env:
- COMPILER=clang++-6.0
- COMPILER=clang++-10
- COMP=clang
- LDFLAGS=-fuse-ld=lld

- os: osx
osx_image: xcode12
compiler: gcc
env:
- COMPILER=g++
- COMP=gcc

- os: osx
osx_image: xcode12
compiler: clang
env:
- COMPILER=clang++ V='Apple LLVM 9.4.1' # Apple LLVM version 9.1.0 (clang-902.0.39.2)
- COMPILER=clang++
- COMP=clang

branches:
Expand All @@ -45,33 +43,59 @@ before_script:
- cd src

script:
# Download net
- make net

# Obtain bench reference from git log
- git log HEAD | grep "\b[Bb]ench[ :]\+[0-9]\{7\}" | head -n 1 | sed "s/[^0-9]*\([0-9]*\).*/\1/g" > git_sig
- export benchref=$(cat git_sig)
- echo "Reference bench:" $benchref
#
# Verify bench number against various builds
- export CXXFLAGS=-Werror
- make clean && make -j2 ARCH=x86-64 optimize=no debug=yes build && ../tests/signature.sh $benchref
- make clean && make -j2 ARCH=x86-32 optimize=no debug=yes build && ../tests/signature.sh $benchref
- make clean && make -j2 ARCH=x86-32 build && ../tests/signature.sh $benchref

# Verify bench number is ONE_PLY independent by doubling its value
- sed -i'.bak' 's/.*\(ONE_PLY = [0-9]*\),.*/\1 * 2,/g' types.h
# Compiler version string
- $COMPILER -v

# test help target
- make help

# Verify bench number against various builds
- export CXXFLAGS="-Werror -D_GLIBCXX_DEBUG"
- make clean && make -j2 ARCH=x86-64-modern optimize=no debug=yes build && ../tests/signature.sh $benchref
- export CXXFLAGS="-Werror"
- make clean && make -j2 ARCH=x86-64-modern build && ../tests/signature.sh $benchref
- make clean && make -j2 ARCH=x86-64-ssse3 build && ../tests/signature.sh $benchref
- make clean && make -j2 ARCH=x86-64-sse3-popcnt build && ../tests/signature.sh $benchref
- make clean && make -j2 ARCH=x86-64 build && ../tests/signature.sh $benchref
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make clean && make -j2 ARCH=general-64 build && ../tests/signature.sh $benchref; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make clean && make -j2 ARCH=x86-32 optimize=no debug=yes build && ../tests/signature.sh $benchref; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make clean && make -j2 ARCH=x86-32-sse41-popcnt build && ../tests/signature.sh $benchref; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make clean && make -j2 ARCH=x86-32-sse2 build && ../tests/signature.sh $benchref; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make clean && make -j2 ARCH=x86-32 build && ../tests/signature.sh $benchref; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make clean && make -j2 ARCH=general-32 build && ../tests/signature.sh $benchref; fi
# workaround: exclude a custom version of llvm+clang, which doesn't find llvm-profdata on ubuntu
- if [[ "$TRAVIS_OS_NAME" != "linux" || "$COMP" == "gcc" ]]; then make clean && make -j2 ARCH=x86-64-modern profile-build && ../tests/signature.sh $benchref; fi

# compile only for some more advanced architectures (might not run in travis)
- make clean && make -j2 ARCH=x86-64-avx2 build
- make clean && make -j2 ARCH=x86-64-bmi2 build
- make clean && make -j2 ARCH=x86-64-avx512 build
- make clean && make -j2 ARCH=x86-64-vnni512 build
- make clean && make -j2 ARCH=x86-64-vnni256 build

#
# Check perft and reproducible search
- make clean && make -j2 ARCH=x86-64-modern build
- ../tests/perft.sh
- ../tests/reprosearch.sh

#
# Valgrind
#
- export CXXFLAGS="-O1 -fno-inline"
- if [ -x "$(command -v valgrind )" ]; then make clean && make -j2 ARCH=x86-64 debug=yes optimize=no build > /dev/null && ../tests/instrumented.sh --valgrind; fi
- if [ -x "$(command -v valgrind )" ]; then make clean && make -j2 ARCH=x86-64-modern debug=yes optimize=no build > /dev/null && ../tests/instrumented.sh --valgrind; fi
- if [ -x "$(command -v valgrind )" ]; then ../tests/instrumented.sh --valgrind-thread; fi

#
# Sanitizer
#
# Use g++-8 as a proxy for having sanitizers, might need revision as they become available for more recent versions of clang/gcc
- if [[ "$COMPILER" == "g++-8" ]]; then make clean && make -j2 ARCH=x86-64 sanitize=undefined optimize=no debug=yes build > /dev/null && ../tests/instrumented.sh --sanitizer-undefined; fi
- if [[ "$COMPILER" == "g++-8" ]]; then make clean && make -j2 ARCH=x86-64 sanitize=thread optimize=no debug=yes build > /dev/null && ../tests/instrumented.sh --sanitizer-thread; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make clean && make -j2 ARCH=x86-64-modern sanitize=undefined optimize=no debug=yes build > /dev/null && ../tests/instrumented.sh --sanitizer-undefined; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then make clean && make -j2 ARCH=x86-64-modern sanitize=thread optimize=no debug=yes build > /dev/null && ../tests/instrumented.sh --sanitizer-thread; fi
98 changes: 79 additions & 19 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -1,16 +1,25 @@
# List of authors for Stockfish, updated for version 10
# List of authors for Stockfish, as of August 4, 2020

# Founders of the Stockfish project and fishtest infrastructure
Tord Romstad (romstad)
Marco Costalba (mcostalba)
Joona Kiiski (zamar)
Gary Linscott (glinscott)

# Authors and inventors of NNUE, training, NNUE port
Yu Nasu (ynasu87)
Motohiro Isozaki (yaneurao)
Hisayori Noda (nodchip)

# all other authors of the code in alphabetical order
Aditya (absimaldata)
Adrian Petrescu (apetresc)
Ajith Chandy Jose (ajithcj)
Alain Savard (Rocky640)
alayan-stk-2
Alayan Feh (Alayan-stk-2)
Alexander Kure
Alexander Pagel (Lolligerhans)
Alfredo Menezes (lonfom169)
Ali AlZhrani (Cooffe)
Andrew Grant (AndyGrant)
Andrey Neporada (nepal)
Expand All @@ -21,27 +30,41 @@ Auguste Pop
Balint Pfliegel
Ben Koshy (BKSpurgeon)
Bill Henry (VoyagerOne)
Bojun Guo (noobpwnftw, Nooby)
braich
Bojun Guo (noobpwnftw)
Brian Sheppard (SapphireBrand)
Brian Sheppard (SapphireBrand, briansheppard-toast)
Bruno de Melo Costa (BM123499)
Bryan Cross (crossbr)
candirufish
Chess13234
Chris Cain (ceebo)
Dan Schmidt
Dale Weiler (graphitemaster)
Dan Schmidt (dfannius)
Daniel Axtens (daxtens)
Daniel Dugovic (ddugovic)
Dariusz Orzechowski
Dariusz Orzechowski (dorzechowski)
David Zar
Daylen Yang (daylen)
Deshawn Mohan-Smith (GoldenRare)
Dieter Dobbelaere (ddobbelaere)
DiscanX
Eelco de Groot
Dominik Schlösser (domschl)
double-beep
Eduardo Cáceres (eduherminio)
Eelco de Groot (KingDefender)
Elvin Liu (solarlight2)
erbsenzaehler
Ernesto Gatti
Linmiao Xu (linrock)
Fabian Beuke (madnight)
Fabian Fichter (ianfab)
Fanael Linithien (Fanael)
fanon
Fauzi Akram Dabat (FauziAkram)
Felix Wittmann
gamander
Gary Heckman (gheckman)
George Sobala (gsobala)
gguliash
Gian-Carlo Pascutto (gcp)
Gontran Lemaire (gonlem)
Expand All @@ -59,74 +82,111 @@ Jacques B. (Timshel)
Jan Ondruš (hxim)
Jared Kish (Kurtbusch)
Jarrod Torriero (DU-jdto)
Jean Gauthier (OuaisBla)
Jean-Francois Romang (jromang)
Jekaa
Jerry Donald Watson (jerrydonaldwatson)
jjoshua2
Jonathan Calovski (Mysseno)
Jonathan D. (SFisGOD)
Jonathan Buladas Dumale (SFisGOD)
Joost VandeVondele (vondele)
Jörg Oster (joergoster)
Joseph Ellis (jhellis3)
Joseph R. Prostko
jundery
Justin Blanchard
Justin Blanchard (UncombedCoconut)
Kelly Wilson
Ken Takusagawa
kinderchocolate
Kiran Panditrao (Krgp)
Kojirion
Krystian Kuzniarek (kuzkry)
Leonardo Ljubičić (ICCF World Champion)
Leonid Pechenik (lp--)
Linus Arver
Linus Arver (listx)
loco-loco
Lub van den Berg (ElbertoOne)
Luca Brivio (lucabrivio)
Lucas Braesch (lucasart)
Lyudmil Antonov (lantonov)
Matthew Lai (matthewlai)
Matthew Sullivan
Maciej Żenczykowski (zenczykowski)
Malcolm Campbell (xoto10)
Mark Tenzer (31m059)
marotear
Matt Ginsberg (mattginsberg)
Matthew Lai (matthewlai)
Matthew Sullivan (Matt14916)
Maxim Molchanov (Maxim)
Michael An (man)
Michael Byrne (MichaelB7)
Michael Stembera (mstembera)
Michael Chaly (Vizvezdenec)
Michael Stembera (mstembera)
Michael Whiteley (protonspring)
Michel Van den Bergh (vdbergh)
Miguel Lahoz (miguel-l)
Mikael Bäckman (mbootsector)
Michael Whiteley (protonspring)
Mira
Miroslav Fontán (Hexik)
Moez Jellouli (MJZ1977)
Mohammed Li (tthsqe12)
Nathan Rugg (nmrugg)
Nick Pelling (nickpelling)
Nicklas Persson (NicklasPersson)
Niklas Fiekas (niklasf)
Nikolay Kostov (NikolayIT)
Nguyen Pham (nguyenpham)
Norman Schmidt (FireFather)
notruck
Ondrej Mosnáček (WOnder93)
Oskar Werkelin Ahlin
Pablo Vazquez
Panthee
Pascal Romaret
Pasquale Pigazzini (ppigazzini)
Patrick Jansen (mibere)
pellanda
Peter Zsifkovits (CoffeeOne)
Praveen Kumar Tummala (praveentml)
Rahul Dsilva (silversolver1)
Ralph Stößer (Ralph Stoesser)
Raminder Singh
renouve
Reuven Peleg
Richard Lloyd
Rodrigo Exterckötter Tjäder
Ron Britvich (Britvich)
Ronald de Man (syzygy1)
Ronald de Man (syzygy1, syzygy)
rqs
Ryan Schmitt
Ryan Takker
Sami Kiminki (skiminki)
Sebastian Buchwald (UniQP)
Sergei Antonov (saproj)
Sergei Ivanov (svivanov72)
Sergio Vieri (sergiovieri)
sf-x
shane31
Steinar Gunderson (sesse)
Shane Booth (shane31)
Shawn Varghese (xXH4CKST3RXx)
Stefan Geschwentner (locutus2)
Stefano Cardanobile (Stefano80)
Steinar Gunderson (sesse)
Stéphane Nicolet (snicolet)
Thanar2
thaspel
theo77186
Tom Truscott
Tom Vijlbrief (tomtor)
Torsten Franz (torfranz)
Tomasz Sobczyk (Sopel97)
Torsten Franz (torfranz, tfranzer)
Tracey Emery (basepr1me)
tttak
Unai Corzo (unaiic)
Uri Blass (uriblass)
Vince Negri
Vince Negri (cuddlestmonkey)
zz4032


# Additionally, we acknowledge the authors and maintainers of fishtest,
# an amazing and essential framework for the development of Stockfish!
#
# https://github.com/glinscott/fishtest/blob/master/AUTHORS
Loading