Releases: nodchip/Stockfish
stockfish-nnue-2020-08-30
Changes:
- Merged the official Stockfish master branch. (242a7d9)
- gensfen Don't allow LMP on PvNodes. Thank you, jhellis3! (#80)
- convert_bin Added
check_invalid_fen
option. It checks if fen is valid or not. Thank you, tttak! (#84) - convert_bin Changed to compare "Piece placement field" between input_fen and pos.fen(). Thank you, tttak! (#84)
- learn Added
winning_probability_coefficient
option. It specifies the coefficient to calculate the winning probability from a value. (#71) - convert_bin learn Added
src_score_min_value
,src_score_max_value
,dest_score_min_value
anddest_score_max_value
options. They specify the scaling factor of scores. (#71) - convert_bin Supported new score formats. Thank you, tttak! (#88)
- { [%eval 0.25] [%clk 0:10:00] }
- { +0.71/22 1.2s }
- { 0.60 }
- { book }
- no eval
- others
- convert_bin Added
convert_no_eval_fens_as_score_zero
option. If specifiyes the behavior to convert a fen whose score is {book], no eval or others. Thank you, tttak! (#88)- convert_no_eval_fens_as_score_zero 0 : Skip the conversion of the fen.
- convert_no_eval_fens_as_score_zero 1 : Convert the fen as score 0.
- learn Added
convert_teacher_signal_to_winning_probability
option to convert the teacher signals to winning probabilities. (#71)- For example, the following command converts pgn files containing winning probabilities to a bin file, and train a net from the winning probabilities directly.
- convert_bin src_score_min_value 0.0 src_score_max_value 1.0 dest_score_min_value -30000 dest_score_max_value 30000 ...
- learn src_score_min_value -30000 src_score_max_value 30000 dest_score_min_value 0.0 dest_score_max_value 1.0 convert_teacher_signal_to_winning_probability 0 ...
- For example, the following command converts pgn files containing winning probabilities to a bin file, and train a net from the winning probabilities directly.
- gensfen learn Added
use_raw_nnue_eval
option. It specifies if the training data generator or the trainer uses the raw NNUE eval values. (#89)- When initial training data are generated from the classic eval for supervised learning, set
use_raw_nnue_eval
to 0 andUse NNUE
to 0. - When an initial net is trained for supervised learning, set
use_raw_nnue_eval
to 1 andUse NNUE
to 1. - When training data are generated from NNUE for reinforcement learning, set
use_raw_nnue_eval
to 1 andUse NNUE
to 1. - When a net is trained for reinforcement learning, set
use_raw_nnue_eval
to 1 andUse NNUE
to 1.
- When initial training data are generated from the classic eval for supervised learning, set
- learn Added
use_wdl
option. It uses WDL to convert a score to a winning probability instead of sigmoid function. Thank you, tttak! (#90) - Fixed a build error in Ubuntu 18.04. Thank you, hero2017! (#92)
The network parameter file is not included in this release. Please download the top most net file on fishtest (https://tests.stockfishchess.org/nns). If there are questions, ask in the Stockfish unofficial Discord server (https://discord.gg/ZzJwPv3) at first.
filename | CPU instructions | Supported CPUs |
---|---|---|
x86-64 | Intel Streaming SIMD Extensions 2 | >= AMD Athlon 64 |
x86-64-ssse3 | Intel Supplemental Streaming SIMD Extensions 3 | >= Intel Pentium 4 (Prescott model F) |
x86-64-sse3-popcnt | Intel Streaming SIMD Extensions 3 + POPCNT | >= AMD Phenom |
x86-64-modern | Intel Streaming SIMD Extensions 4.1 | >= Intel Core 2 Duo (Penryn) |
x86-64-sse41-popcnt | Intel Streaming SIMD Extensions 4.1 + POPCNT | >= AMD Bobcat |
x86-64-avx2 | Intel Advanced Vector Extensions 2 | >= AMD APU (Carrizo) |
x86-64-bmi2 | Intel Advanced Vector Extensions 2 + BMI2 | >= Intel Core i7 (Haswell) |
x86-64-avx512 | Intel Advanced Vector Extensions 512 | >= Intel Core i9/i7 (Skylake-X) |
x86-64-vnni256 | Intel Advanced Vector Extensions 2 + BMI2 + VNNI | >= Intel Xeon (Cascade Lake) |
x86-64-vnni512 | Intel Advanced Vector Extensions 512 + BMI2 + VNNI | >= Intel Core i7/i5/i3 (Ice Lake) |
filename | network |
---|---|
halfkp_256x2-32-32 | halfkp_256x2-32-32 |
filename | usage |
---|---|
learn | training data generator + trainer with blas (training is fast) |
profile-learn | training data generator + trainer with blas (training is fast) and PGO build |
stockfish-nnue-2020-08-30-rotate180-flip_rank
stockfish-nnue-2020-08-21-rotate180-flip_rank
This is a beta release to check the issue in official-stockfish#3021. Please don't use for other purpose.
stockfish-nnue-2020-08-11
Changes:
- Merged the official Stockfish master branch. (27b593a)
- convert_bin Clamped score between -32,000 to 32,000. Thank you, tttak!
- convert_bin Excluded invalid fens. Thank you, tttak!
- convert_bin Excluded invlaid moves. Thank you, tttak!
- gensfen Fixed a bug that the random seed is always constant. (#68)
- gensfen Fixed a bug that the training data generator does not use EGTB. Thank you, linox! (#67)
- gensfen Fixed a bug that the training data generator crashes when eval_limit is high. (#77)
- gensfen detect_draw_by_consecutive_low_score option is added. If detect_draw_by_consecutive_low_score is set to 1, the training data generator adjudicates game to a draw if the last 4 moves of each engine has a score of zero starting at ply 80. The default value is 0. Thank you, linox.
- gensfen detect_draw_by_insufficient_mating_material option is added. If detect_draw_by_insufficient_mating_material is set to 1, the training data generator terminates the game early and not wait for 2-fold repetition in KvK, KBvK/KvKB or KNvK/KvKN and KBvKB (same bishop color). The default value is 0. Thank you, linox.
- gensfen Renamed use_draw_in_training_data_generation option to write_out_draw_game_in_training_data_generation. The old option name is still available.
- learn Renamed use_draw_in_training to use_draw_games_in_training. The old option name is still available.
- learn Renamed use_draw_in_validation to use_draw_games_in_validation. The old option name is still available.
- learn Renamed use_hash_in_training to skip_duplicated_positions_in_training. The old option name is still available.
The network parameter file is not included in this release. Please download the strongest network parameter file on fishtest (https://tests.stockfishchess.org/nns). If there are questions, ask in the Stockfish unofficial Discord server (https://discord.gg/ZzJwPv3) at first.
filename | CPU instructions | Supported CPUs |
---|---|---|
sse2 | Intel Streaming SIMD Extensions 2 | >= AMD Athlon 64 |
sse3 | Intel Streaming SIMD Extensions 3 | >= Intel Pentium 4 (Prescott model F) |
sse3-popcnt | Intel Streaming SIMD Extensions 3 + POPCNT | >= AMD Phenom |
ssse3 | Intel Supplemental Streaming SIMD Extensions 3 | >= Intel Core 2 Duo (Merom) |
sse41 | Intel Streaming SIMD Extensions 4.1 | >= Intel Core 2 Duo (Penryn) |
sse42 | Intel Streaming SIMD Extensions 4.2 | >= Intel Core i7 (Bloomfield), AMD FX (Bulldozer) |
avx2 | Intel Advanced Vector Extensions 2 | >= AMD APU (Carrizo) |
bmi2 | Intel Advanced Vector Extensions 2 + BMI2 | >= Intel Core i7 (Haswell) |
avx512 | Intel Advanced Vector Extensions 512 | >= Intel Core i9/i7 (Skylake-X) |
filename | network |
---|---|
halfkp_256x2-32-32 | halfkp_256x2-32-32 |
filename | usage |
---|---|
learn | training data generator + trainer with blas (training is fast) |
stockfish-nnue-2020-07-19
Changes:
- Enabled profile build. Thank you, discord is a piece of XXXX.
- Updated README.md. Thank you, xXH4CKST3RXx.
- Changed the default eval file path so that more GUIs can use Stockfish+NNUE.
- Added AVX-512 support. Thank you, mstembera.
- Added SSE3+POPCNT support.
- Load the parameter set on an `isready' as well. Thank you, discord is a piece of XXXX.
The network parameter file is not included in this release. Please find the strongest network parameter file in the Stockfish unofficial Discord server (https://discord.gg/ZzJwPv3).
filename | CPU instructions | Supported CPUs |
---|---|---|
sse2 | Intel Streaming SIMD Extensions 2 | >= AMD Athlon 64 |
sse3 | Intel Streaming SIMD Extensions 3 | >= Intel Pentium 4 (Prescott model F) |
sse3-popcnt | Intel Streaming SIMD Extensions 3 + POPCNT | >= AMD Phenom |
ssse3 | Intel Supplemental Streaming SIMD Extensions 3 | >= Intel Core 2 Duo (Merom) |
sse41 | Intel Streaming SIMD Extensions 4.1 | >= Intel Core 2 Duo (Penryn) |
sse42 | Intel Streaming SIMD Extensions 4.2 | >= Intel Core i7 (Bloomfield), AMD FX (Bulldozer) |
avx2 | Intel Advanced Vector Extensions 2 | >= AMD APU (Carrizo) |
bmi2 | Intel Advanced Vector Extensions 2 + BMI2 | >= Intel Core i7 (Haswell) |
avx512 | Intel Advanced Vector Extensions 512 | >= Intel Core i9/i7 (Skylake-X) |
filename | network |
---|---|
no-nnue | No neural networks included. |
halfkp_256x2-32-32 | halfkp_256x2-32-32 |
halfkp_384x2-32-32 | halfkp_384x2-32-32 |
filename | usage |
---|---|
nnue-gen-sfen-from-original-eval | training data generator |
nnue | chess engine |
nnue-learn | training data generator + trainer with blas (training is fast) |
EDIT (2020/07/19 21:42): The binaries for AVX-512 were replaced. Please try new binaries if they crash.
stockfish-nnue-2020-07-15
Changes:
- Fixed a bug that the learn command does not save the final net. Thank you, joergoster.
The nn parameter file is not included in this release. Please find the strongest nn parameter file in the #sf-nnue-dev channge in the Stockfish unofficial Discord server (https://discord.gg/ZzJwPv3).
filename | CPU instructions | Supported CPUs |
---|---|---|
sse2 | Intel Streaming SIMD Extensions 2 | < Core 2 Duo (Merom) |
ssse3 | Intel Supplemental Streaming SIMD Extensions 3 | >= Core 2 Duo (Merom) |
sse41 | Intel Streaming SIMD Extensions 4.1 | >= Core 2 Duo (Penryn) |
sse42 | Intel Streaming SIMD Extensions 4.2 | >= Core i7 (Bloomfield) |
avx2 | Intel Advanced Vector Extensions 2 | Modern AMD Processors |
bmi2 | Intel Advanced Vector Extensions 2 | >= Core i7 (Haswell) |
filename | network |
---|---|
no-nnue | No neural networks included. |
halfkp_256x2-32-32 | halfkp_256x2-32-32 |
halfkp_384x2-32-32 | halfkp_384x2-32-32 |
filename | usage |
---|---|
nnue-gen-sfen-from-original-eval | training data generator. |
nnue | chess engine |
nnue-learn | training data generator + trainer with blas (training is fast) |
EDIT: 2020-07-15 23:02 There was a bug that halfkp_384x2-32-32 binaries read halfkp_256x2-32-32 net files. Binaries were replaced.
stockfish-nnue-2020-07-13
Changes:
- Fixed a bug that game results are not correct in pgn_to_plain.py. Thank you, farmersrice.
- Fixed a bug that gensfen command does not accept the use_draw_in_training_data_generation option.
The nn parameter file is not included in this release. Please find the strongest nn parameter file in the #sf-nnue-dev channge in the Stockfish unofficial Discord server (https://discord.gg/ZzJwPv3).
filename | CPU instructions | Supported CPUs |
---|---|---|
sse2 | Intel Streaming SIMD Extensions 2 | < Core 2 Duo (Merom) |
ssse3 | Intel Supplemental Streaming SIMD Extensions 3 | >= Core 2 Duo (Merom) |
sse41 | Intel Streaming SIMD Extensions 4.1 | >= Core 2 Duo (Penryn) |
sse42 | Intel Streaming SIMD Extensions 4.2 | >= Core i7 (Bloomfield) |
avx2 | Intel Advanced Vector Extensions 2 | Modern AMD Processors |
bmi2 | Intel Advanced Vector Extensions 2 | >= Core i7 (Haswell) |
filename | network |
---|---|
no-nnue | No neural networks included. |
halfkp_256x2-32-32 | halfkp_256x2-32-32 |
halfkp_384x2-32-32 | halfkp_384x2-32-32 |
filename | usage |
---|---|
nnue-gen-sfen-from-original-eval | training data generator. |
nnue | chess engine |
nnue-learn | training data generator + trainer with blas (training is fast) |
stockfish-nnue-2020-07-11
stockfish-nnue-2020-07-11
filename | CPU instructions | Supported CPUs |
---|---|---|
sse2 | Intel Streaming SIMD Extensions 2 | < Core 2 Duo (Merom) |
ssse3 | Intel Supplemental Streaming SIMD Extensions 3 | >= Core 2 Duo (Merom) |
sse41 | Intel Streaming SIMD Extensions 4.1 | >= Core 2 Duo (Penryn) |
sse42 | Intel Streaming SIMD Extensions 4.2 | >= Core i7 (Bloomfield) |
avx2 | Intel Advanced Vector Extensions 2 | Modern AMD Processors |
bmi2 | Intel Advanced Vector Extensions 2 | >= Core i7 (Haswell) |
filename | network |
---|---|
no-nnue | No neural networks included. |
halfkp_256x2-32-32 | halfkp_256x2-32-32 |
halfkp_384x2-32-32 | halfkp_384x2-32-32 |
filename | usage |
---|---|
nnue-gen-sfen-from-original-eval | training data generator. |
nnue | chess engine |
nnue-learn | training data generator + trainer with blas (training is fast) |
Changes:
- Changed the default network parameter file path. Thank you, zz4032.
- Fix a bug that network parameter files are not saved to EvalSaveDir. Thank you, zz4032.
- Speed up by disabling eval hash. Thank you, discord is a piece of XXXX.
The nn parameter file is not included in this release. Please find the strongest nn parameter file in the #sf-nnue-dev channge in the Stockfish unofficial Discord server (https://discord.gg/7EyHBCN).
stockfish-nnue-2020-07-10
stockfish-nnue-2020-07-10
filename | CPU instructions | Supported CPUs |
---|---|---|
sse2 | Intel Streaming SIMD Extensions 2 | < Core 2 Duo (Merom) |
ssse3 | Intel Supplemental Streaming SIMD Extensions 3 | >= Core 2 Duo (Merom) |
sse41 | Intel Streaming SIMD Extensions 4.1 | >= Core 2 Duo (Penryn) |
sse42 | Intel Streaming SIMD Extensions 4.2 | >= Core i7 (Bloomfield) |
avx2 | Intel Advanced Vector Extensions 2 | Modern AMD Processors |
bmi2 | Intel Advanced Vector Extensions 2 | >= Core i7 (Haswell) |
filename | network |
---|---|
no-nnue | No neural networks included. |
halfkp_256x2-32-32 | halfkp_256x2-32-32 |
halfkp_384x2-32-32 | halfkp_384x2-32-32 |
filename | usage |
---|---|
nnue-gen-sfen-from-original-eval | training data generator. |
nnue | chess engine |
nnue-learn | training data generator + trainer with blas (training is fast) |
Changes:
- Changed to load a net file when a ucinewgame command comes, or EvalFile is set. Thank you, joergoster.
- Changed the EvalDir option to EvalFile. Thank you, FireFather.
- Enabled the convert_plain command. Thank you, tttak.
- Added binaries which support SSE2, SSSE3, SSE4.1, SSE4.2, AVX2 and BMI2. Thank you, discord is a piece of XXXX.
- Added binaries which support halfkp_384x2-32-32.
- Unified the nnue-learn and nnue-learn-use-blas into nnue-learn-use-blas.
The nn parameter file is not included in this release. Please find the strongest nn parameter file in the #sf-nnue-dev channge in the Stockfish unofficial Discord server (https://discord.gg/7EyHBCN).
stockfish-nnue-2020-07-06
stockfish-nnue-2020-07-06
filename | CPU instructions | network architecture | usage |
---|---|---|---|
stockfish.avx2.halfkp_256x2-32-32.nnue.yyyy-mm-dd.exe | avx2 | halfkp_256x2-32-32 | chess engine |
stockfish.avx2.no-nnue.nnue-gen-sfen-from-original-eval.yyyy-mm-dd.exe | avx2 | none | training data generator |
stockfish.avx2.halfkp_256x2-32-32.nnue-learn.yyyy-mm-dd.exe | avx2 | halfkp_256x2-32-32 | training data generator + trainer |
stockfish.avx2.halfkp_256x2-32-32.nnue-learn-use-blas.yyyy-mm-dd.exe | avx2 | halfkp_256x2-32-32 | training data generator + trainer with blas (training is fast) |
stockfish.bmi2.halfkp_256x2-32-32.nnue.yyyy-mm-dd.exe | bmi2 | halfkp_256x2-32-32 | chess engine |
stockfish.bmi2.no-nnue.nnue-gen-sfen-from-original-eval.yyyy-mm-dd.exe | bmi2 | none | training data generator |
stockfish.bmi2.halfkp_256x2-32-32.nnue-learn.yyyy-mm-dd.exe | bmi2 | halfkp_256x2-32-32 | training data generator + trainer |
stockfish.bmi2.halfkp_256x2-32-32.nnue-learn-use-blas.yyyy-mm-dd.exe | bmi2 | halfkp_256x2-32-32 | training data generator + trainer with blas (training is fast) |
Changes:
- Merged UCI_ShowWDL option. Thank you, tttak.
- Added "nodes" option to the "gensfen" command to specify the number of the nodes to be searched.
- Note that "depth" and "nodes" can be used at the same time. Please don't forget to set "depth" to a large value like 64 when "nodes" is set.
The nn parameter file is not included in this release. Please find the strongest nn parameter file in the #sf-nnue-dev channge in the Stockfish unofficial Discord server (https://discord.gg/7EyHBCN).