Accepting request 1151318 from games
- Update to 16.1: * In our testing against its predecessor, Stockfish 16.1 shows a notable improvement in performance, with an Elo gain of up to 27 points and winning over 2 times more game pairs than it loses. * Updated neural network architecture: The neural network architecture has undergone two updates and is currently in its 8th version. * Removal of handcrafted evaluation (HCE): This release marks the removal of the traditional handcrafted evaluation and the transition to a fully neural network-based approach. * Dual NNUE: For the first time, Stockfish includes a secondary neural network, used to quickly evaluate positions that are easily decided. * Use NNUE and UCI_AnalyseMode have been removed as they no longer had any effect. SlowMover has also been removed in favor of Move Overhead. - Use %autosetup macro. Allows to eliminate the usage of deprecated PatchN. OBS-URL: https://build.opensuse.org/request/show/1151318 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/stockfish?expand=0&rev=14
This commit is contained in:
commit
d4e1ec0966
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -22,4 +22,5 @@
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
## Specific LFS patterns
|
||||
nn-ad9b42354671.nnue filter=lfs diff=lfs merge=lfs -text
|
||||
nn-b1a57edbea57.nnue filter=lfs diff=lfs merge=lfs -text
|
||||
nn-baff1ede1f90.nnue filter=lfs diff=lfs merge=lfs -text
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d4272657905319328294355973faee40a8c28e3eecb0e7b266ed34ff33383b76
|
||||
size 193408
|
3
Stockfish-sf_16.1.tar.gz
Normal file
3
Stockfish-sf_16.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a5f94793b5d4155310397ba89e9c4266570ef0f24cd47de41a9103556f811b82
|
||||
size 176846
|
19
date.patch
19
date.patch
@ -1,18 +1,19 @@
|
||||
Index: Stockfish-sf_15.1/src/misc.cpp
|
||||
Index: Stockfish-sf_16.1/src/misc.cpp
|
||||
===================================================================
|
||||
--- 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) {
|
||||
--- Stockfish-sf_16.1.orig/src/misc.cpp
|
||||
+++ Stockfish-sf_16.1/src/misc.cpp
|
||||
@@ -166,14 +166,6 @@ std::string engine_info(bool to_uci) {
|
||||
ss << "-";
|
||||
#ifdef GIT_DATE
|
||||
ss << GIT_DATE;
|
||||
ss << stringify(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"
|
||||
- constexpr std::string_view months("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec");
|
||||
- std::string month, day, year;
|
||||
- std::stringstream date(__DATE__); // From compiler, format is "Sep 21 2008"
|
||||
-
|
||||
- date >> month >> day >> year;
|
||||
- ss << year << setw(2) << setfill('0') << (1 + months.find(month) / 4) << setw(2) << setfill('0') << day;
|
||||
- ss << year << std::setw(2) << std::setfill('0') << (1 + months.find(month) / 4)
|
||||
- << std::setw(2) << std::setfill('0') << day;
|
||||
#endif
|
||||
|
||||
ss << "-";
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ad9b423546714137916bd38978af6fd68d7b8951bef25ff76bf43da72d6cb786
|
||||
size 47001499
|
3
nn-b1a57edbea57.nnue
Normal file
3
nn-b1a57edbea57.nnue
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b1a57edbea574ca8b88d6837473845791beb53d885f87f86d5ccdd5659fbf3b2
|
||||
size 65429575
|
3
nn-baff1ede1f90.nnue
Normal file
3
nn-baff1ede1f90.nnue
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:baff1ede1f90c1dd1b4f772f1eff29848821801e8186345da7f0eb4121bd6f63
|
||||
size 3480122
|
@ -1,23 +1,30 @@
|
||||
Index: Stockfish-sf_15.1/src/Makefile
|
||||
Index: Stockfish-sf_16.1/src/Makefile
|
||||
===================================================================
|
||||
--- Stockfish-sf_15.1.orig/src/Makefile
|
||||
+++ Stockfish-sf_15.1/src/Makefile
|
||||
@@ -748,7 +748,6 @@ help:
|
||||
@echo ""
|
||||
--- Stockfish-sf_16.1.orig/src/Makefile
|
||||
+++ Stockfish-sf_16.1/src/Makefile
|
||||
@@ -806,7 +806,6 @@ help:
|
||||
@echo "help > Display architecture details"
|
||||
@echo "build > Standard build"
|
||||
- @echo "net > Download the default nnue net"
|
||||
@echo "profile-build > Faster build (with profile-guided optimization)"
|
||||
@echo "profile-build > standard build with profile-guided optimization"
|
||||
@echo "build > skip profile-guided optimization"
|
||||
- @echo "net > Download the default nnue nets"
|
||||
@echo "strip > Strip executable"
|
||||
@echo "install > Install executable"
|
||||
@@ -810,14 +809,14 @@ else
|
||||
@echo "clean > Clean up"
|
||||
@@ -867,20 +866,20 @@ ifneq ($(SUPPORTED_ARCH), true)
|
||||
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 FORCE
|
||||
-.PHONY: help analyze build profile-build strip install clean net \
|
||||
+.PHONY: help analyze build profile-build strip install clean \
|
||||
objclean profileclean config-sanity \
|
||||
icx-profile-use icx-profile-make \
|
||||
gcc-profile-use gcc-profile-make \
|
||||
clang-profile-use clang-profile-make FORCE \
|
||||
format analyze
|
||||
|
||||
-analyze: net config-sanity objclean
|
||||
+analyze: config-sanity objclean
|
||||
$(MAKE) -k ARCH=$(ARCH) COMP=$(COMP) $(OBJS)
|
||||
|
||||
-build: net config-sanity
|
||||
+build: config-sanity
|
||||
@ -28,48 +35,52 @@ Index: Stockfish-sf_15.1/src/Makefile
|
||||
@echo ""
|
||||
@echo "Step 1/4. Building instrumented executable ..."
|
||||
$(MAKE) ARCH=$(ARCH) COMP=$(COMP) $(profile_make)
|
||||
@@ -844,40 +843,6 @@ install:
|
||||
clean: objclean profileclean
|
||||
@rm -f .depend *~ core
|
||||
@@ -922,44 +921,6 @@ profileclean:
|
||||
@rm -f stockfish.res
|
||||
@rm -f ./-lstdc++.res
|
||||
|
||||
-# evaluation network (nnue)
|
||||
-net:
|
||||
- $(eval nnuenet := $(shell grep EvalFileDefaultName evaluate.h | grep define | sed 's/.*\(nn-[a-z0-9]\{12\}.nnue\).*/\1/'))
|
||||
-define fetch_network
|
||||
- @echo "Default net: $(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 [ "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; \
|
||||
- echo "Neither curl nor wget is installed. Install one of these tools unless the net has been downloaded manually"; \
|
||||
- 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 \
|
||||
- echo "shasum / sha256sum not found, skipping net validation"; \
|
||||
- fi
|
||||
- elif test -f "$(nnuenet)"; then \
|
||||
- if [ "$(nnuenet)" != "nn-"`$(shasum_command) $(nnuenet) | cut -c1-12`".nnue" ]; then \
|
||||
- echo "Removing invalid network"; rm -f $(nnuenet); \
|
||||
- fi; \
|
||||
- fi;
|
||||
- @for nnuedownloadurl in "$(nnuedownloadurl1)" "$(nnuedownloadurl2)"; do \
|
||||
- if test -f "$(nnuenet)"; then \
|
||||
- echo "$(nnuenet) available."; \
|
||||
- echo "$(nnuenet) available : OK"; break; \
|
||||
- else \
|
||||
- if [ "x$(curl_or_wget)" != "x" ]; then \
|
||||
- echo "Downloading $${nnuedownloadurl}"; $(curl_or_wget) $${nnuedownloadurl} > $(nnuenet);\
|
||||
- else \
|
||||
- echo "No net found and download not possible"; exit 1;\
|
||||
- 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
|
||||
- fi;
|
||||
- @if [ "x$(shasum_command)" != "x" ]; then \
|
||||
- if [ "$(nnuenet)" = "nn-"`$(shasum_command) $(nnuenet) | cut -c1-12`".nnue" ]; then \
|
||||
- echo "Network validated"; break; \
|
||||
- fi; \
|
||||
- fi;
|
||||
-endef
|
||||
-
|
||||
# clean binaries and objects
|
||||
objclean:
|
||||
@rm -f stockfish stockfish.exe *.o ./syzygy/*.o ./nnue/*.o ./nnue/features/*.o
|
||||
@@ -901,7 +866,7 @@ default:
|
||||
# set up shell variables for the net stuff
|
||||
define netvariables
|
||||
$(eval nnuenet := $(shell grep $(1) evaluate.h | grep define | sed 's/.*\(nn-[a-z0-9]\{12\}.nnue\).*/\1/'))
|
||||
@@ -989,7 +950,7 @@ default:
|
||||
|
||||
all: $(EXE) .depend
|
||||
|
||||
@ -78,3 +89,11 @@ Index: Stockfish-sf_15.1/src/Makefile
|
||||
@echo ""
|
||||
@echo "Config:"
|
||||
@echo "debug: '$(debug)'"
|
||||
@@ -1098,6 +1059,6 @@ icx-profile-use:
|
||||
.depend: $(SRCS)
|
||||
-@$(CXX) $(DEPENDFLAGS) -MM $(SRCS) > $@ 2> /dev/null
|
||||
|
||||
-ifeq (, $(filter $(MAKECMDGOALS), help strip install clean net objclean profileclean config-sanity))
|
||||
+ifeq (, $(filter $(MAKECMDGOALS), help strip install clean objclean profileclean config-sanity))
|
||||
-include .depend
|
||||
endif
|
||||
|
@ -1,3 +1,21 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 26 12:09:26 UTC 2024 - Michael Vetter <mvetter@suse.com>
|
||||
|
||||
- Update to 16.1:
|
||||
* In our testing against its predecessor, Stockfish 16.1 shows a
|
||||
notable improvement in performance, with an Elo gain of up to
|
||||
27 points and winning over 2 times more game pairs than it loses.
|
||||
* Updated neural network architecture: The neural network architecture
|
||||
has undergone two updates and is currently in its 8th version.
|
||||
* Removal of handcrafted evaluation (HCE): This release marks the
|
||||
removal of the traditional handcrafted evaluation and the transition
|
||||
to a fully neural network-based approach.
|
||||
* Dual NNUE: For the first time, Stockfish includes a secondary neural
|
||||
network, used to quickly evaluate positions that are easily decided.
|
||||
* Use NNUE and UCI_AnalyseMode have been removed as they no longer had
|
||||
any effect. SlowMover has also been removed in favor of Move Overhead.
|
||||
- Use %autosetup macro. Allows to eliminate the usage of deprecated PatchN.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 6 15:15:03 UTC 2022 - Michael Vetter <mvetter@suse.com>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package stockfish
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -17,15 +17,17 @@
|
||||
|
||||
|
||||
# See evaluate.h > EvalFileDefaultName
|
||||
%define nnuenet nn-ad9b42354671.nnue
|
||||
%define nnuenetS nn-baff1ede1f90.nnue
|
||||
%define nnuenetB nn-b1a57edbea57.nnue
|
||||
Name: stockfish
|
||||
Version: 15.1
|
||||
Version: 16.1
|
||||
Release: 0
|
||||
Summary: Chess engine
|
||||
License: GPL-3.0-or-later
|
||||
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}
|
||||
Source1: https://tests.stockfishchess.org/api/nn/%{nnuenetS}
|
||||
Source2: https://tests.stockfishchess.org/api/nn/%{nnuenetB}
|
||||
# steal some documentation from ubuntu
|
||||
Source10: %{name}-interface.txt
|
||||
Source11: %{name}.6-20091204230329-yljoyxocuxhxg1ot-76/%{name}.6
|
||||
@ -51,10 +53,9 @@ order to be used comfortably. Read the documentation for your GUI of choice for
|
||||
information about how to use Stockfish with your GUI.
|
||||
|
||||
%prep
|
||||
%setup -q -n Stockfish-sf_%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%autosetup -p1 -n Stockfish-sf_%{version}
|
||||
cp %{SOURCE1} src/
|
||||
cp %{SOURCE2} src/
|
||||
cp -p %{SOURCE10} %{SOURCE11} .
|
||||
|
||||
dos2unix %{name}-interface.txt
|
||||
|
Loading…
x
Reference in New Issue
Block a user