Accepting request 1040725 from games

- Update to 15.1:
  * Elo gain and competition results:
    With this release, version 5 of the NNUE neural net architecture
    has been introduced, and the training data has been extended to
    include Fischer random chess (FRC) positions. As a result, Elo
    gains are largest for FRC, reaching up to 50 Elo for doubly
    randomized FRC (DFRC). More importantly, also for standard chess
    this release progressed and will win two times more game pairs than
    it loses against Stockfish 15. 
  * New evaluation:
    This release also introduces a new convention for the evaluation
    that is reported by search. An evaluation of +1 is now no longer
    tied to the value of one pawn, but to the likelihood of winning the
    game. With a +1 evaluation, Stockfish has now a 50% chance of winning
    the game against an equally strong opponent. This convention scales
    down evaluations a bit compared to Stockfish 15 and allows for
    consistent evaluations in the future.
- Refresh:
  * date.patch
  * stockfish-remove-net.patch
- Remove nn-6877cd24400e.nnue
- Add nn-ad9b42354671.nnue
- Keep man page and stockfish-interface.txt but remove URL from
  Source. Because not available anymore.

OBS-URL: https://build.opensuse.org/request/show/1040725
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/stockfish?expand=0&rev=13
This commit is contained in:
Dominique Leuenberger 2022-12-06 15:58:06 +00:00 committed by Git OBS Bridge
commit bc9434f07f
9 changed files with 88 additions and 55 deletions

2
.gitattributes vendored
View File

@ -22,4 +22,4 @@
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
## Specific LFS patterns
nn-6877cd24400e.nnue filter=lfs diff=lfs merge=lfs -text
nn-ad9b42354671.nnue filter=lfs diff=lfs merge=lfs -text

3
Stockfish-sf_15.1.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d4272657905319328294355973faee40a8c28e3eecb0e7b266ed34ff33383b76
size 193408

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0553fe53ea57ce6641048049d1a17d4807db67eecd3531a3749401362a27c983
size 189578

View File

@ -1,24 +1,18 @@
Index: Stockfish-sf_14/src/misc.cpp
Index: Stockfish-sf_15.1/src/misc.cpp
===================================================================
--- Stockfish-sf_14.orig/src/misc.cpp
+++ Stockfish-sf_14/src/misc.cpp
@@ -142,18 +142,10 @@ public:
string engine_info(bool to_uci) {
- const string months("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec");
- string month, day, year;
- stringstream ss, date(__DATE__); // From compiler, format is "Sep 21 2008"
+ stringstream ss;
ss << "Stockfish " << Version << setfill('0');
- if (Version.empty())
- {
- date >> month >> day >> year;
- ss << setw(2) << day << setw(2) << (1 + months.find(month) / 4) << year.substr(2);
- }
--- Stockfish-sf_15.1.orig/src/misc.cpp
+++ Stockfish-sf_15.1/src/misc.cpp
@@ -156,13 +156,6 @@ string engine_info(bool to_uci) {
ss << "-";
#ifdef GIT_DATE
ss << GIT_DATE;
- #else
- const string months("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec");
- string month, day, year;
- stringstream date(__DATE__); // From compiler, format is "Sep 21 2008"
-
ss << (to_uci ? "\nid author ": " by ")
<< "the Stockfish developers (see AUTHORS file)";
- date >> month >> day >> year;
- ss << year << setw(2) << setfill('0') << (1 + months.find(month) / 4) << setw(2) << setfill('0') << day;
#endif
ss << "-";

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6877cd24400e01b19ff12ae3068ae242152802bdd330e66f7b6703865251d6e3
size 47001499

3
nn-ad9b42354671.nnue Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ad9b423546714137916bd38978af6fd68d7b8951bef25ff76bf43da72d6cb786
size 47001499

View File

@ -1,7 +1,8 @@
diff -urEbw Stockfish-sf_15/src/Makefile Stockfish-sf_15.new/src/Makefile
--- Stockfish-sf_15/src/Makefile 2022-04-18 22:03:20.000000000 +0200
+++ Stockfish-sf_15.new/src/Makefile 2022-04-20 21:20:19.092144400 +0200
@@ -722,7 +722,6 @@
Index: Stockfish-sf_15.1/src/Makefile
===================================================================
--- Stockfish-sf_15.1.orig/src/Makefile
+++ Stockfish-sf_15.1/src/Makefile
@@ -748,7 +748,6 @@ help:
@echo ""
@echo "help > Display architecture details"
@echo "build > Standard build"
@ -9,14 +10,14 @@ diff -urEbw Stockfish-sf_15/src/Makefile Stockfish-sf_15.new/src/Makefile
@echo "profile-build > Faster build (with profile-guided optimization)"
@echo "strip > Strip executable"
@echo "install > Install executable"
@@ -783,14 +782,14 @@
@@ -810,14 +809,14 @@ else
endif
-.PHONY: help build profile-build strip install clean net objclean profileclean \
+.PHONY: help build profile-build strip install clean objclean profileclean \
config-sanity icc-profile-use icc-profile-make gcc-profile-use gcc-profile-make \
clang-profile-use clang-profile-make
clang-profile-use clang-profile-make FORCE
-build: net config-sanity
+build: config-sanity
@ -27,7 +28,7 @@ diff -urEbw Stockfish-sf_15/src/Makefile Stockfish-sf_15.new/src/Makefile
@echo ""
@echo "Step 1/4. Building instrumented executable ..."
$(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_make)
@@ -817,30 +816,6 @@
@@ -844,40 +843,6 @@ install:
clean: objclean profileclean
@rm -f .depend *~ core
@ -35,30 +36,40 @@ diff -urEbw Stockfish-sf_15/src/Makefile Stockfish-sf_15.new/src/Makefile
-net:
- $(eval nnuenet := $(shell grep EvalFileDefaultName evaluate.h | grep define | sed 's/.*\(nn-[a-z0-9]\{12\}.nnue\).*/\1/'))
- @echo "Default net: $(nnuenet)"
- $(eval nnuedownloadurl := https://tests.stockfishchess.org/api/nn/$(nnuenet))
- $(eval nnuedownloadurl1 := https://tests.stockfishchess.org/api/nn/$(nnuenet))
- $(eval nnuedownloadurl2 := https://github.com/official-stockfish/networks/raw/master/$(nnuenet))
- $(eval curl_or_wget := $(shell if hash curl 2>/dev/null; then echo "curl -skL"; elif hash wget 2>/dev/null; then echo "wget -qO-"; fi))
- @if test -f "$(nnuenet)"; then \
- echo "Already available."; \
- else \
- if [ "x$(curl_or_wget)" = "x" ]; then \
- echo "Automatic download failed: neither curl nor wget is installed. Install one of these tools or download the net manually"; exit 1; \
- else \
- echo "Downloading $(nnuedownloadurl)"; $(curl_or_wget) $(nnuedownloadurl) > $(nnuenet);\
- fi; \
- fi;
- @if [ "x$(curl_or_wget)" = "x" ]; then \
- echo "Automatic download failed: neither curl nor wget is installed. Install one of these tools or download the net manually"; exit 1; \
- fi
- $(eval shasum_command := $(shell if hash shasum 2>/dev/null; then echo "shasum -a 256 "; elif hash sha256sum 2>/dev/null; then echo "sha256sum "; fi))
- @if [ "x$(shasum_command)" != "x" ]; then \
- if [ "$(nnuenet)" != "nn-"`$(shasum_command) $(nnuenet) | cut -c1-12`".nnue" ]; then \
- echo "Failed download or $(nnuenet) corrupted, please delete!"; exit 1; \
- fi \
- else \
- @if [ "x$(shasum_command)" = "x" ]; then \
- echo "shasum / sha256sum not found, skipping net validation"; \
- fi
- @for nnuedownloadurl in "$(nnuedownloadurl1)" "$(nnuedownloadurl2)"; do \
- if test -f "$(nnuenet)"; then \
- echo "$(nnuenet) available."; \
- else \
- if [ "x$(curl_or_wget)" != "x" ]; then \
- echo "Downloading $${nnuedownloadurl}"; $(curl_or_wget) $${nnuedownloadurl} > $(nnuenet);\
- fi; \
- fi; \
- if [ "x$(shasum_command)" != "x" ]; then \
- if [ "$(nnuenet)" != "nn-"`$(shasum_command) $(nnuenet) | cut -c1-12`".nnue" ]; then \
- echo "Removing failed download"; rm -f $(nnuenet); \
- else \
- echo "Network validated"; break; \
- fi; \
- fi; \
- done
- @if ! test -f "$(nnuenet)"; then \
- echo "Failed to download $(nnuenet)."; \
- fi
-
# clean binaries and objects
objclean:
@rm -f stockfish stockfish.exe *.o ./syzygy/*.o ./nnue/*.o ./nnue/features/*.o
@@ -864,7 +839,7 @@
@@ -901,7 +866,7 @@ default:
all: $(EXE) .depend

View File

@ -1,3 +1,31 @@
-------------------------------------------------------------------
Tue Dec 6 15:15:03 UTC 2022 - Michael Vetter <mvetter@suse.com>
- Update to 15.1:
* Elo gain and competition results:
With this release, version 5 of the NNUE neural net architecture
has been introduced, and the training data has been extended to
include Fischer random chess (FRC) positions. As a result, Elo
gains are largest for FRC, reaching up to 50 Elo for doubly
randomized FRC (DFRC). More importantly, also for standard chess
this release progressed and will win two times more game pairs than
it loses against Stockfish 15.
* New evaluation:
This release also introduces a new convention for the evaluation
that is reported by search. An evaluation of +1 is now no longer
tied to the value of one pawn, but to the likelihood of winning the
game. With a +1 evaluation, Stockfish has now a 50% chance of winning
the game against an equally strong opponent. This convention scales
down evaluations a bit compared to Stockfish 15 and allows for
consistent evaluations in the future.
- Refresh:
* date.patch
* stockfish-remove-net.patch
- Remove nn-6877cd24400e.nnue
- Add nn-ad9b42354671.nnue
- Keep man page and stockfish-interface.txt but remove URL from
Source. Because not available anymore.
-------------------------------------------------------------------
Wed Apr 20 19:17:58 UTC 2022 - Michael Vetter <mvetter@suse.com>

View File

@ -17,9 +17,9 @@
# See evaluate.h > EvalFileDefaultName
%define nnuenet nn-6877cd24400e.nnue
%define nnuenet nn-ad9b42354671.nnue
Name: stockfish
Version: 15
Version: 15.1
Release: 0
Summary: Chess engine
License: GPL-3.0-or-later
@ -27,8 +27,8 @@ URL: https://stockfishchess.org
Source0: https://github.com/official-stockfish/Stockfish/archive/sf_%{version}.tar.gz#/Stockfish-sf_%{version}.tar.gz
Source1: https://tests.stockfishchess.org/api/nn/%{nnuenet}
# steal some documentation from ubuntu
Source10: https://bazaar.launchpad.net/~ubuntu-branches/ubuntu/vivid/%{name}/vivid/download/head:/engineinterface.txt-20091204230329-yljoyxocuxhxg1ot-78/engine-interface.txt#/%{name}-interface.txt
Source11: https://bazaar.launchpad.net/~ubuntu-branches/ubuntu/vivid/%{name}/vivid/download/head:/%{name}.6-20091204230329-yljoyxocuxhxg1ot-76/%{name}.6
Source10: %{name}-interface.txt
Source11: %{name}.6-20091204230329-yljoyxocuxhxg1ot-76/%{name}.6
# If 'Version' is not set it will display the date as version number. We dont want __DATE__ and Version is set anyways.
Patch0: date.patch
# Don't try to download file. We already have it.