official-stockfish / Stockfish

A free and strong UCI chess engine
https://stockfishchess.org/
GNU General Public License v3.0
11.61k stars 2.28k forks source link

How to compile Stockfish 14.1 on Apple M1 MAX macOS for ipmanchess ranking list? #5126

Closed Chess321 closed 7 months ago

Chess321 commented 7 months ago

Describe the issue

make -j profile-build COMP=clang ARCH=apple-silicon

Default net: nn-13406b1dcbe0.nnue Downloading https://tests.stockfishchess.org/api/nn/nn-13406b1dcbe0.nnue

Config: debug: 'no' sanitize: 'none' optimize: 'yes' arch: 'arm64' bits: '64' kernel: 'Darwin' os: '' prefetch: 'yes' popcnt: 'yes' pext: 'no' sse: 'no' mmx: 'no' sse2: 'no' ssse3: 'no' sse41: 'no' avx2: 'no' avx512: 'no' vnni256: 'no' vnni512: 'no' neon: 'yes'

Flags: CXX: clang++ CXXFLAGS: -Wall -Wcast-qual -fno-exceptions -std=c++17 -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto LDFLAGS: -m64 -mmacosx-version-min=10.14 -arch arm64 -lpthread -Wall -Wcast-qual -fno-exceptions -std=c++17 -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto

Testing config sanity. If this fails, try 'make help' ...

Step 1/4. Building instrumented executable ... /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=clang clang-profile-make /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=clang \ EXTRACXXFLAGS='-fprofile-instr-generate ' \ EXTRALDFLAGS=' -fprofile-instr-generate' \ all clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o benchmark.o benchmark.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o bitbase.o bitbase.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o bitboard.o bitboard.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o endgame.o endgame.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o evaluate.o evaluate.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o main.o main.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o material.o material.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o misc.o misc.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o movegen.o movegen.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o movepick.o movepick.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o pawns.o pawns.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o position.o position.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o psqt.o psqt.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o search.o search.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o thread.o thread.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o timeman.o timeman.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tt.o tt.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o uci.o uci.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o ucioption.o ucioption.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tune.o tune.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tbprobe.o syzygy/tbprobe.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o evaluate_nnue.o nnue/evaluate_nnue.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -fexperimental-new-pass-manager -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o half_ka_v2_hm.o nnue/features/half_ka_v2_hm.cpp clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' make[2]: [benchmark.o] Error 1 make[2]: Waiting for unfinished jobs.... clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' make[2]: [search.o] Error 1 clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' make[2]: [ucioption.o] Error 1 make[2]: [uci.o] Error 1 make[2]: [psqt.o] Error 1 make[2]: [movegen.o] Error 1 make[2]: [material.o] Error 1 make[2]: [endgame.o] Error 1 make[2]: [tbprobe.o] Error 1 make[2]: [misc.o] Error 1 clang++: error: unknown argument: '-fexperimental-new-pass-manager' make[2]: [thread.o] Error 1 make[2]: [evaluate.o] Error 1 clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' make[2]: [evaluate_nnue.o] Error 1 clang++: error: unknown argument: '-fexperimental-new-pass-manager' make[2]: [bitbase.o] Error 1 clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' clang++: error: unknown argument: '-fexperimental-new-pass-manager' make[2]: [tune.o] Error 1 make[2]: [main.o] Error 1 clang++: error: unknown argument: '-fexperimental-new-pass-manager' make[2]: [bitboard.o] Error 1 make[2]: [tt.o] Error 1 make[2]: [half_ka_v2_hm.o] Error 1 make[2]: [pawns.o] Error 1 make[2]: [movepick.o] Error 1 make[2]: [timeman.o] Error 1 clang++: error: unknown argument: '-fexperimental-new-pass-manager' make[2]: [position.o] Error 1 make[1]: [clang-profile-make] Error 2 make: [profile-build] Error 2

Expected behavior

No errors.

Steps to reproduce

I've downloaded: Stockfish 14.1 code from: https://github.com/official-stockfish/Stockfish/releases

make -j profile-build COMP=clang ARCH=apple-silicon

Anything else?

I would like to do some bench 1024 10 26 default depth nnue for Ipmanchess. https://ipmanchess.yolasite.com/amd--intel-chess-bench-stockfish.php But I don't want to distort the rankings.

1. Problem: I could use Homebrew but when I use make -j profile-build COMP=clang ARCH=apple-silicon instead, every Stockfish compile is 2.3x times faster than Homebrew. Okay I could use Homebrew and let's say I get 10000 kn/s, then I could say: 10000 x 2.3 = 23000 kn/s. But it's still not exactly the same.

2. Problem looks like this: Config: debug: 'no' sanitize: 'none' optimize: 'yes' arch: 'arm64' bits: '64' kernel: 'Darwin' os: '' prefetch: 'yes' popcnt: 'yes' pext: 'no' sse: 'no' mmx: 'no' sse2: 'no' ssse3: 'no' sse41: 'no' avx2: 'no' avx512: 'no' vnni256: 'no' vnni512: 'no' neon: 'yes'

Instead of this: Config: debug: 'no' sanitize: 'none' optimize: 'yes' arch: 'arm64' bits: '64' kernel: 'Darwin' os: '' prefetch: 'yes' popcnt: 'yes' pext: 'no' sse: 'no' mmx: 'no' sse2: 'no' ssse3: 'no' sse41: 'no' avx2: 'no' avxvnni: 'no' avx512: 'no' vnni256: 'no' vnni512: 'no' neon: 'yes' dotprod: 'yes' arm_version: '8' target_windows: ''

Dotprod will increase the kn/s by 75.63% Does somebody know how big the speed up is from arm_version: '8' ?

Much more things are available than only: optimize, prefetch, popcnt, neon, dotprod, arm_version: '8' to speed up Stockfish a lot on ARM CPUs and Apple devices. Probably we can use those too?

Can someone, maybe just for fun, create a Stockfish 14.1 version which can be compiled with clang without these errors and which can use dotprod + arm_version: '8'?

https://ipmanchess.yolasite.com/amd--intel-chess-bench-stockfish.php The current Apple results with only Homebrew and without Dotprod and without arm_version: '8' are pointless and false in the current ranking list.

Operating system

MacOS

Stockfish version

Stockfish 14.1

Ipmanchess commented 7 months ago

Hi..i would not call it pointless or false these results..these where the best we could get ,even they are very slow! So any improvement in creating faster binary's for Apple are always welcome and will be appricated by many users!

Ipman.

Torom commented 7 months ago

You must apply this patch: https://github.com/official-stockfish/Stockfish/commit/d1e17989b51f220629e4e81a4bf413974f4b18e2 or manually remove this line CXXFLAGS += -fexperimental-new-pass-manager from the makefile.

Chess321 commented 7 months ago

gcc / g++ works fine:

make -j profile-build COMP=gcc ARCH=apple-silicon

Default net: nn-13406b1dcbe0.nnue Downloading https://tests.stockfishchess.org/api/nn/nn-13406b1dcbe0.nnue

Config: debug: 'no' sanitize: 'none' optimize: 'yes' arch: 'arm64' bits: '64' kernel: 'Darwin' os: '' prefetch: 'yes' popcnt: 'yes' pext: 'no' sse: 'no' mmx: 'no' sse2: 'no' ssse3: 'no' sse41: 'no' avx2: 'no' avx512: 'no' vnni256: 'no' vnni512: 'no' neon: 'yes'

Flags: CXX: g++ CXXFLAGS: -Wall -Wcast-qual -fno-exceptions -std=c++17 -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto LDFLAGS: -m64 -mmacosx-version-min=10.14 -arch arm64 -lpthread -Wall -Wcast-qual -fno-exceptions -std=c++17 -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto

Testing config sanity. If this fails, try 'make help' ...

Step 1/4. Building instrumented executable ... /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=gcc clang-profile-make /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=gcc \ EXTRACXXFLAGS='-fprofile-instr-generate ' \ EXTRALDFLAGS=' -fprofile-instr-generate' \ all g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o benchmark.o benchmark.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o bitbase.o bitbase.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o bitboard.o bitboard.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o endgame.o endgame.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o evaluate.o evaluate.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o main.o main.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o material.o material.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o misc.o misc.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o movegen.o movegen.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o movepick.o movepick.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o pawns.o pawns.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o position.o position.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o psqt.o psqt.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o search.o search.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o thread.o thread.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o timeman.o timeman.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tt.o tt.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o uci.o uci.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o ucioption.o ucioption.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tune.o tune.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tbprobe.o syzygy/tbprobe.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o evaluate_nnue.o nnue/evaluate_nnue.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o half_ka_v2_hm.o nnue/features/half_ka_v2_hm.cpp nnue/evaluate_nnue.cpp:264:5: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(&buffer[1], "%6.2f", cp); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h:180:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:218:48: note: expanded from macro '__deprecated_msg'

define deprecated_msg(_msg) attribute((deprecated__(_msg)))

                                                  ^

position.cpp:132:7: warning: variable 'count' set but not used [-Wunused-but-set-variable] int count = 0; ^ 1 warning generated. 1 warning generated. g++ -o stockfish benchmark.o bitbase.o bitboard.o endgame.o evaluate.o main.o material.o misc.o movegen.o movepick.o pawns.o position.o psqt.o search.o thread.o timeman.o tt.o uci.o ucioption.o tune.o tbprobe.o evaluate_nnue.o half_ka_v2_hm.o -fprofile-instr-generate -m64 -mmacosx-version-min=10.14 -arch arm64 -lpthread -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto

Step 2/4. Running benchmark for pgo-build ... ./stockfish bench > /dev/null

Position: 1/47 (rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1)

Position: 2/47 (r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 10)

Position: 3/47 (8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - - 0 11)

Position: 4/47 (4rrk1/pp1n3p/3q2pQ/2p1pb2/2PP4/2P3N1/P2B2PP/4RRK1 b - - 7 19)

Position: 5/47 (rq3rk1/ppp2ppp/1bnpN3/3N2B1/4P3/7P/PPPQ1PP1/2KR3R b - - 0 14)

Position: 6/47 (r1bq1r1k/1pp1n1pp/1p1p4/4p2Q/4PpP1/1BNP4/PPP2P1P/3R1RK1 b - g3 0 14)

Position: 7/47 (r3r1k1/2p2ppp/p1p1bn2/8/1q2P3/2NPQN2/PPP3PP/R4RK1 b - - 2 15)

Position: 8/47 (r1bbk1nr/pp3p1p/2n5/1N4p1/2Np1B2/8/PPP2PPP/2KR1B1R w kq - 0 13)

Position: 9/47 (r1bq1rk1/ppp1nppp/4n3/3p3Q/3P4/1BP1B3/PP1N2PP/R4RK1 w - - 1 16)

Position: 10/47 (4r1k1/r1q2ppp/ppp2n2/4P3/5Rb1/1N1BQ3/PPP3PP/R5K1 w - - 1 17)

Position: 11/47 (2rqkb1r/ppp2p2/2npb1p1/1N1Nn2p/2P1PP2/8/PP2B1PP/R1BQK2R b KQ - 0 11)

Position: 12/47 (r1bq1r1k/b1p1npp1/p2p3p/1p6/3PP3/1B2NN2/PP3PPP/R2Q1RK1 w - - 1 16)

Position: 13/47 (3r1rk1/p5pp/bpp1pp2/8/q1PP1P2/b3P3/P2NQRPP/1R2B1K1 b - - 6 22)

Position: 14/47 (r1q2rk1/2p1bppp/2Pp4/p6b/Q1PNp3/4B3/PP1R1PPP/2K4R w - - 2 18)

Position: 15/47 (4k2r/1pb2ppp/1p2p3/1R1p4/3P4/2r1PN2/P4PPP/1R4K1 b - - 3 22)

Position: 16/47 (3q2k1/pb3p1p/4pbp1/2r5/PpN2N2/1P2P2P/5PP1/Q2R2K1 b - - 4 26)

Position: 17/47 (6k1/6p1/6Pp/ppp5/3pn2P/1P3K2/1PP2P2/3N4 b - - 0 1)

Position: 18/47 (3b4/5kp1/1p1p1p1p/pP1PpP1P/P1P1P3/3KN3/8/8 w - - 0 1)

Position: 19/47 (2K5/p7/7P/5pR1/8/5k2/r7/8 w - - 4 3)

Position: 20/47 (8/6pk/1p6/8/PP3p1p/5P2/4KP1q/3Q4 w - - 0 1)

Position: 21/47 (7k/3p2pp/4q3/8/4Q3/5Kp1/P6b/8 w - - 0 1)

Position: 22/47 (8/2p5/8/2kPKp1p/2p4P/2P5/3P4/8 w - - 0 1)

Position: 23/47 (8/1p3pp1/7p/5P1P/2k3P1/8/2K2P2/8 w - - 0 1)

Position: 24/47 (8/pp2r1k1/2p1p3/3pP2p/1P1P1P1P/P5KR/8/8 w - - 0 1)

Position: 25/47 (8/3p4/p1bk3p/Pp6/1Kp1PpPp/2P2P1P/2P5/5B2 b - - 0 1)

Position: 26/47 (5k2/7R/4P2p/5K2/p1r2P1p/8/8/8 b - - 0 1)

Position: 27/47 (6k1/6p1/P6p/r1N5/5p2/7P/1b3PP1/4R1K1 w - - 0 1)

Position: 28/47 (1r3k2/4q3/2Pp3b/3Bp3/2Q2p2/1p1P2P1/1P2KP2/3N4 w - - 0 1)

Position: 29/47 (6k1/4pp1p/3p2p1/P1pPb3/R7/1r2P1PP/3B1P2/6K1 w - - 0 1)

Position: 30/47 (8/3p3B/5p2/5P2/p7/PP5b/k7/6K1 w - - 0 1)

Position: 31/47 (5rk1/q6p/2p3bR/1pPp1rP1/1P1Pp3/P3B1Q1/1K3P2/R7 w - - 93 90)

Position: 32/47 (4rrk1/1p1nq3/p7/2p1P1pp/3P2bp/3Q1Bn1/PPPB4/1K2R1NR w - - 40 21)

Position: 33/47 (r3k2r/3nnpbp/q2pp1p1/p7/Pp1PPPP1/4BNN1/1P5P/R2Q1RK1 w kq - 0 16)

Position: 34/47 (3Qb1k1/1r2ppb1/pN1n2q1/Pp1Pp1Pr/4P2p/4BP2/4B1R1/1R5K b - - 11 40)

Position: 35/47 (4k3/3q1r2/1N2r1b1/3ppN2/2nPP3/1B1R2n1/2R1Q3/3K4 w - - 5 1)

Position: 36/47 (8/8/8/8/5kp1/P7/8/1K1N4 w - - 0 1)

Position: 37/47 (8/8/8/5N2/8/p7/8/2NK3k w - - 0 1)

Position: 38/47 (8/3k4/8/8/8/4B3/4KB2/2B5 w - - 0 1)

Position: 39/47 (8/8/1P6/5pr1/8/4R3/7k/2K5 w - - 0 1)

Position: 40/47 (8/2p4P/8/kr6/6R1/8/8/1K6 w - - 0 1)

Position: 41/47 (8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1)

Position: 42/47 (8/R7/2q5/8/6k1/8/1P5p/K6R w - - 0 124)

Position: 43/47 (6k1/3b3r/1p1p4/p1n2p2/1PPNpP1q/P3Q1p1/1R1RB1P1/5K2 b - - 0 1)

Position: 44/47 (r2r1n2/pp2bk2/2p1p2p/3q4/3PN1QP/2P3R1/P4PP1/5RK1 w - - 0 1)

Position: 45/47 (8/8/8/8/8/6k1/6p1/6K1 w - - 0 1)

Position: 46/47 (7k/7P/6K1/8/3B4/8/8/8 b - - 0 1)

Position: 47/47 (bb1n1rkr/ppp1Q1pp/3n1p2/3p4/3P4/6Pq/PPP1PP1P/BB1NNRKR w HFhf - 0 5)

=========================== Total time (ms) : 5615 Nodes searched : 6334068 Nodes/second : 1128061

Step 3/4. Building optimized executable ... /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=gcc objclean /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=gcc clang-profile-use xcrun llvm-profdata merge -output=stockfish.profdata *.profraw /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=gcc \ EXTRACXXFLAGS='-fprofile-instr-use=stockfish.profdata' \ EXTRALDFLAGS='-fprofile-use ' \ all g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o benchmark.o benchmark.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o bitbase.o bitbase.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o bitboard.o bitboard.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o endgame.o endgame.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o evaluate.o evaluate.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o main.o main.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o material.o material.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o misc.o misc.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o movegen.o movegen.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o movepick.o movepick.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o pawns.o pawns.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o position.o position.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o psqt.o psqt.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o search.o search.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o thread.o thread.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o timeman.o timeman.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tt.o tt.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o uci.o uci.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o ucioption.o ucioption.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tune.o tune.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tbprobe.o syzygy/tbprobe.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o evaluate_nnue.o nnue/evaluate_nnue.cpp g++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o half_ka_v2_hm.o nnue/features/half_ka_v2_hm.cpp position.cpp:132:7: warning: variable 'count' set but not used [-Wunused-but-set-variable] int count = 0; ^ nnue/evaluate_nnue.cpp:264:5: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] sprintf(&buffer[1], "%6.2f", cp); ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdio.h:180:1: note: 'sprintf' has been explicitly marked deprecated here __deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") ^ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:218:48: note: expanded from macro '__deprecated_msg'

define deprecated_msg(_msg) attribute((deprecated__(_msg)))

                                                  ^

1 warning generated. 1 warning generated. g++ -o stockfish benchmark.o bitbase.o bitboard.o endgame.o evaluate.o main.o material.o misc.o movegen.o movepick.o pawns.o position.o psqt.o search.o thread.o timeman.o tt.o uci.o ucioption.o tune.o tbprobe.o evaluate_nnue.o half_ka_v2_hm.o -fprofile-use -m64 -mmacosx-version-min=10.14 -arch arm64 -lpthread -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto

Step 4/4. Deleting profile data ... /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=gcc profileclean

Chess321 commented 7 months ago

You must apply this patch: d1e1798 or manually remove this line CXXFLAGS += -fexperimental-new-pass-manager from the makefile.

Thanks. I've done it with makefile.

make -j profile-build COMP=clang ARCH=apple-silicon

Default net: nn-13406b1dcbe0.nnue Already available.

Config: debug: 'no' sanitize: 'none' optimize: 'yes' arch: 'arm64' bits: '64' kernel: 'Darwin' os: '' prefetch: 'yes' popcnt: 'yes' pext: 'no' sse: 'no' mmx: 'no' sse2: 'no' ssse3: 'no' sse41: 'no' avx2: 'no' avx512: 'no' vnni256: 'no' vnni512: 'no' neon: 'yes'

Flags: CXX: clang++ CXXFLAGS: -Wall -Wcast-qual -fno-exceptions -std=c++17 -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto LDFLAGS: -m64 -mmacosx-version-min=10.14 -arch arm64 -lpthread -Wall -Wcast-qual -fno-exceptions -std=c++17 -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto

Testing config sanity. If this fails, try 'make help' ...

Step 1/4. Building instrumented executable ... /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=clang clang-profile-make /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=clang \ EXTRACXXFLAGS='-fprofile-instr-generate ' \ EXTRALDFLAGS=' -fprofile-instr-generate' \ all clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o benchmark.o benchmark.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o bitbase.o bitbase.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o bitboard.o bitboard.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o endgame.o endgame.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o evaluate.o evaluate.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o main.o main.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o material.o material.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o misc.o misc.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o movegen.o movegen.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o movepick.o movepick.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o pawns.o pawns.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o position.o position.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o psqt.o psqt.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o search.o search.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o thread.o thread.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o timeman.o timeman.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tt.o tt.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o uci.o uci.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o ucioption.o ucioption.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tune.o tune.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tbprobe.o syzygy/tbprobe.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o evaluate_nnue.o nnue/evaluate_nnue.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o half_ka_v2_hm.o nnue/features/half_ka_v2_hm.cpp position.cpp:132:7: warning: variable 'count' set but not used [-Wunused-but-set-variable] 132 | int count = 0; | ^ nnue/evaluate_nnue.cpp:264:5: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] 264 | sprintf(&buffer[1], "%6.2f", cp); | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/stdio.h:180:1: note: 'sprintf' has been explicitly marked deprecated here 180 | deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/sys/cdefs.h:218:48: note: expanded from macro '__deprecated_msg' 218 | #define deprecated_msg(_msg) attribute((deprecated(_msg))) | ^ 1 warning generated. 1 warning generated. clang++ -o stockfish benchmark.o bitbase.o bitboard.o endgame.o evaluate.o main.o material.o misc.o movegen.o movepick.o pawns.o position.o psqt.o search.o thread.o timeman.o tt.o uci.o ucioption.o tune.o tbprobe.o evaluate_nnue.o half_ka_v2_hm.o -fprofile-instr-generate -m64 -mmacosx-version-min=10.14 -arch arm64 -lpthread -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-generate -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto

Step 2/4. Running benchmark for pgo-build ... ./stockfish bench > /dev/null

Position: 1/47 (rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1)

Position: 2/47 (r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 10)

Position: 3/47 (8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - - 0 11)

Position: 4/47 (4rrk1/pp1n3p/3q2pQ/2p1pb2/2PP4/2P3N1/P2B2PP/4RRK1 b - - 7 19)

Position: 5/47 (rq3rk1/ppp2ppp/1bnpN3/3N2B1/4P3/7P/PPPQ1PP1/2KR3R b - - 0 14)

Position: 6/47 (r1bq1r1k/1pp1n1pp/1p1p4/4p2Q/4PpP1/1BNP4/PPP2P1P/3R1RK1 b - g3 0 14)

Position: 7/47 (r3r1k1/2p2ppp/p1p1bn2/8/1q2P3/2NPQN2/PPP3PP/R4RK1 b - - 2 15)

Position: 8/47 (r1bbk1nr/pp3p1p/2n5/1N4p1/2Np1B2/8/PPP2PPP/2KR1B1R w kq - 0 13)

Position: 9/47 (r1bq1rk1/ppp1nppp/4n3/3p3Q/3P4/1BP1B3/PP1N2PP/R4RK1 w - - 1 16)

Position: 10/47 (4r1k1/r1q2ppp/ppp2n2/4P3/5Rb1/1N1BQ3/PPP3PP/R5K1 w - - 1 17)

Position: 11/47 (2rqkb1r/ppp2p2/2npb1p1/1N1Nn2p/2P1PP2/8/PP2B1PP/R1BQK2R b KQ - 0 11)

Position: 12/47 (r1bq1r1k/b1p1npp1/p2p3p/1p6/3PP3/1B2NN2/PP3PPP/R2Q1RK1 w - - 1 16)

Position: 13/47 (3r1rk1/p5pp/bpp1pp2/8/q1PP1P2/b3P3/P2NQRPP/1R2B1K1 b - - 6 22)

Position: 14/47 (r1q2rk1/2p1bppp/2Pp4/p6b/Q1PNp3/4B3/PP1R1PPP/2K4R w - - 2 18)

Position: 15/47 (4k2r/1pb2ppp/1p2p3/1R1p4/3P4/2r1PN2/P4PPP/1R4K1 b - - 3 22)

Position: 16/47 (3q2k1/pb3p1p/4pbp1/2r5/PpN2N2/1P2P2P/5PP1/Q2R2K1 b - - 4 26)

Position: 17/47 (6k1/6p1/6Pp/ppp5/3pn2P/1P3K2/1PP2P2/3N4 b - - 0 1)

Position: 18/47 (3b4/5kp1/1p1p1p1p/pP1PpP1P/P1P1P3/3KN3/8/8 w - - 0 1)

Position: 19/47 (2K5/p7/7P/5pR1/8/5k2/r7/8 w - - 4 3)

Position: 20/47 (8/6pk/1p6/8/PP3p1p/5P2/4KP1q/3Q4 w - - 0 1)

Position: 21/47 (7k/3p2pp/4q3/8/4Q3/5Kp1/P6b/8 w - - 0 1)

Position: 22/47 (8/2p5/8/2kPKp1p/2p4P/2P5/3P4/8 w - - 0 1)

Position: 23/47 (8/1p3pp1/7p/5P1P/2k3P1/8/2K2P2/8 w - - 0 1)

Position: 24/47 (8/pp2r1k1/2p1p3/3pP2p/1P1P1P1P/P5KR/8/8 w - - 0 1)

Position: 25/47 (8/3p4/p1bk3p/Pp6/1Kp1PpPp/2P2P1P/2P5/5B2 b - - 0 1)

Position: 26/47 (5k2/7R/4P2p/5K2/p1r2P1p/8/8/8 b - - 0 1)

Position: 27/47 (6k1/6p1/P6p/r1N5/5p2/7P/1b3PP1/4R1K1 w - - 0 1)

Position: 28/47 (1r3k2/4q3/2Pp3b/3Bp3/2Q2p2/1p1P2P1/1P2KP2/3N4 w - - 0 1)

Position: 29/47 (6k1/4pp1p/3p2p1/P1pPb3/R7/1r2P1PP/3B1P2/6K1 w - - 0 1)

Position: 30/47 (8/3p3B/5p2/5P2/p7/PP5b/k7/6K1 w - - 0 1)

Position: 31/47 (5rk1/q6p/2p3bR/1pPp1rP1/1P1Pp3/P3B1Q1/1K3P2/R7 w - - 93 90)

Position: 32/47 (4rrk1/1p1nq3/p7/2p1P1pp/3P2bp/3Q1Bn1/PPPB4/1K2R1NR w - - 40 21)

Position: 33/47 (r3k2r/3nnpbp/q2pp1p1/p7/Pp1PPPP1/4BNN1/1P5P/R2Q1RK1 w kq - 0 16)

Position: 34/47 (3Qb1k1/1r2ppb1/pN1n2q1/Pp1Pp1Pr/4P2p/4BP2/4B1R1/1R5K b - - 11 40)

Position: 35/47 (4k3/3q1r2/1N2r1b1/3ppN2/2nPP3/1B1R2n1/2R1Q3/3K4 w - - 5 1)

Position: 36/47 (8/8/8/8/5kp1/P7/8/1K1N4 w - - 0 1)

Position: 37/47 (8/8/8/5N2/8/p7/8/2NK3k w - - 0 1)

Position: 38/47 (8/3k4/8/8/8/4B3/4KB2/2B5 w - - 0 1)

Position: 39/47 (8/8/1P6/5pr1/8/4R3/7k/2K5 w - - 0 1)

Position: 40/47 (8/2p4P/8/kr6/6R1/8/8/1K6 w - - 0 1)

Position: 41/47 (8/8/3P3k/8/1p6/8/1P6/1K3n2 b - - 0 1)

Position: 42/47 (8/R7/2q5/8/6k1/8/1P5p/K6R w - - 0 124)

Position: 43/47 (6k1/3b3r/1p1p4/p1n2p2/1PPNpP1q/P3Q1p1/1R1RB1P1/5K2 b - - 0 1)

Position: 44/47 (r2r1n2/pp2bk2/2p1p2p/3q4/3PN1QP/2P3R1/P4PP1/5RK1 w - - 0 1)

Position: 45/47 (8/8/8/8/8/6k1/6p1/6K1 w - - 0 1)

Position: 46/47 (7k/7P/6K1/8/3B4/8/8/8 b - - 0 1)

Position: 47/47 (bb1n1rkr/ppp1Q1pp/3n1p2/3p4/3P4/6Pq/PPP1PP1P/BB1NNRKR w HFhf - 0 5)

=========================== Total time (ms) : 5550 Nodes searched : 6334068 Nodes/second : 1141273

Step 3/4. Building optimized executable ... /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=clang objclean /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=clang clang-profile-use xcrun llvm-profdata merge -output=stockfish.profdata *.profraw /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=clang \ EXTRACXXFLAGS='-fprofile-instr-use=stockfish.profdata' \ EXTRALDFLAGS='-fprofile-use ' \ all clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o benchmark.o benchmark.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o bitbase.o bitbase.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o bitboard.o bitboard.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o endgame.o endgame.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o evaluate.o evaluate.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o main.o main.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o material.o material.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o misc.o misc.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o movegen.o movegen.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o movepick.o movepick.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o pawns.o pawns.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o position.o position.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o psqt.o psqt.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o search.o search.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o thread.o thread.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o timeman.o timeman.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tt.o tt.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o uci.o uci.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o ucioption.o ucioption.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tune.o tune.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o tbprobe.o syzygy/tbprobe.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o evaluate_nnue.o nnue/evaluate_nnue.cpp clang++ -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto -c -o half_ka_v2_hm.o nnue/features/half_ka_v2_hm.cpp position.cpp:132:7: warning: variable 'count' set but not used [-Wunused-but-set-variable] 132 | int count = 0; | ^ nnue/evaluate_nnue.cpp:264:5: warning: 'sprintf' is deprecated: This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Wdeprecated-declarations] 264 | sprintf(&buffer[1], "%6.2f", cp); | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/stdio.h:180:1: note: 'sprintf' has been explicitly marked deprecated here 180 | deprecated_msg("This function is provided for compatibility reasons only. Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.") | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/usr/include/sys/cdefs.h:218:48: note: expanded from macro '__deprecated_msg' 218 | #define deprecated_msg(_msg) attribute((deprecated(_msg))) | ^ 1 warning generated. 1 warning generated. clang++ -o stockfish benchmark.o bitbase.o bitboard.o endgame.o evaluate.o main.o material.o misc.o movegen.o movepick.o pawns.o position.o psqt.o search.o thread.o timeman.o tt.o uci.o ucioption.o tune.o tbprobe.o evaluate_nnue.o half_ka_v2_hm.o -fprofile-use -m64 -mmacosx-version-min=10.14 -arch arm64 -lpthread -Wall -Wcast-qual -fno-exceptions -std=c++17 -fprofile-instr-use=stockfish.profdata -pedantic -Wextra -Wshadow -m64 -mmacosx-version-min=10.14 -arch arm64 -DUSE_PTHREADS -DNDEBUG -O3 -mdynamic-no-pic -DIS_64BIT -DUSE_POPCNT -DUSE_NEON -flto

Step 4/4. Deleting profile data ... /Applications/Xcode.app/Contents/Developer/usr/bin/make ARCH=apple-silicon COMP=clang profileclean

Chess321 commented 7 months ago

@Torom Any idea how I can get dotprod or arm_version: '8'?

dotprod: 'yes' arm_version: '8'

Torom commented 7 months ago

Stockfish 14.1 had no optimisation for dotprod yet.

Chess321 commented 7 months ago

After some tests, I can tell that clang is around 3.5% faster than gcc / g++ on macOS devices with M chip.

When compiling Stockfish on Windows I can use the "strip Stockfish.exe" command to reduce the exe size and make Stockfish slightly faster.

What can I use on macOS? strip Stockfish.exe or strip Stockfish.exec or strip Stockfish doesn't work.

Torom commented 7 months ago

strip stockfish works the same for me on Linux.

Chess321 commented 7 months ago

strip stockfish works the same for me on Linux.

macOS: strip stockfish

Stockfish 14.1: 47.810.488 Byte 47.738.280 Byte strip stockfish

Newest Stockfish: 70.178.952 Byte 70.178.952 Byte strip stockfish

Any idea why it is so tiny with Stockfish 14.1? and why is there no change when using the newest Stockfish?

Which size do you have before and after?

Torom commented 7 months ago

69.740.456 69.655.992

I'm no expert, but I suspect that's the reason why strip only appears in the documentation for Windows. With unix like operating systems there just seems to be less unnecessary stuff in the file.

Edit: And the difference between SF 14.1 and the dev version is the smaller NNUE that was used back then.

Chess321 commented 7 months ago

make -j profile-build COMP=clang ARCH=apple-silicon

Any ideas how to improve this?

Chess321 commented 7 months ago

Stockfish 14.1 had no optimisation for dotprod yet.

How difficult would it be to do it?

Disservin commented 7 months ago

To recap, to compile the older version of stockfish you need to modify the makefile or choose an older compiler. New arm support is another topic.