Minic 3.30 for Mac M1
Hi Vivien! could you please modify the makefile to enable compiling it also for Mac M1 and Mac Intel?
-march=native isn't supported. I could compile it for you and send here the Mac binaries
alessandromorales@MINIDIAESSANDRO Minic-3.30 % make build ARCH=apple-silicon
chmod +x /Users/alessandromorales/Minic-3.30/Tools/build/*.sh
mkdir -p Tourney
if [ ! -e /Users/alessandromorales/Minic-3.30/Tourney/nn.bin ]; then \
echo "No net, downloading..." \
&& wget https://github.com/tryingsomestuff/NNUE-Nets/raw/master/${EMBEDDEDNNUENAME} -O Tourney/nn.bin --no-check-certificate; \
fi
NETMD5=$(md5sum /Users/alessandromorales/Minic-3.30/Tourney/nn.bin | awk '{print $1}') \
&& echo "Net md5: ${NETMD5}" \
&& if [ "${SKIPMD5CHECK}" != "1" ] && [ "${NETMD5}" != "28d620ced7fb2a21acf8e9c4dd6cb354" ]; then \
echo "Bad net (md5: ${NETMD5}), downloading..." \
&& wget https://github.com/tryingsomestuff/NNUE-Nets/raw/master/${EMBEDDEDNNUENAME} -O Tourney/nn.bin --no-check-certificate; \
fi
/bin/bash: md5sum: command not found
Net md5:
Bad net (md5: ), downloading...
--2022-09-07 17:49:03-- https://github.com/tryingsomestuff/NNUE-Nets/raw/master/natural_naughtiness.bin
Risoluzione di github.com (github.com)... 140.82.121.3
Connessione a github.com (github.com)|140.82.121.3|:443... connesso.
Richiesta HTTP inviata, in attesa di risposta... 302 Found
Posizione: https://media.githubusercontent.com/media/tryingsomestuff/NNUE-Nets/master/natural_naughtiness.bin [segue]
--2022-09-07 17:49:04-- https://media.githubusercontent.com/media/tryingsomestuff/NNUE-Nets/master/natural_naughtiness.bin
Risoluzione di media.githubusercontent.com (media.githubusercontent.com)... 185.199.110.133, 185.199.108.133, 185.199.109.133, ...
Connessione a media.githubusercontent.com (media.githubusercontent.com)|185.199.110.133|:443... connesso.
Richiesta HTTP inviata, in attesa di risposta... 200 OK
Lunghezza: 151049100 (144M) [application/octet-stream]
Salvataggio in: «Tourney/nn.bin»
Tourney/nn.bin 100%[===================>] 144,05M 1,98MB/s in 78s
2022-09-07 17:50:31 (1,84 MB/s) - «Tourney/nn.bin» salvato [151049100/151049100]
git rev-parse --is-inside-work-tree > /dev/null 2>&1 \
&& git submodule update --init -- Fathom || (rm -rf Fathom && git clone https://github.com/jdart1/Fathom.git)
Cloning into 'Fathom'...
remote: Enumerating objects: 326, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 326 (delta 0), reused 1 (delta 0), pack-reused 321
Receiving objects: 100% (326/326), 156.47 KiB | 1.36 MiB/s, done.
Resolving deltas: 100% (190/190), done.
/Users/alessandromorales/Minic-3.30/Tools/build/build.sh
/Users/alessandromorales/Minic-3.30/Tools/build/build.sh: line 2: ulimit: stack size: cannot modify limit: Operation not permitted
/Users/alessandromorales/Minic-3.30/Tools/build/common: line 1: ulimit: stack size: cannot modify limit: Operation not permitted
Default embedded net
-----------------------------------------------------
/usr/bin/g++
/usr/bin/gcc
-----------------------------------------------------
Apple clang version 14.0.0 (clang-1400.0.29.102)
Target: arm64-apple-darwin22.1.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
-----------------------------------------------------
output name: minic
version: dev
definition: -DDEBUG_TOOL -DEMBEDDEDNNUEPATH=/Users/alessandromorales/Minic-3.30/Tourney/nn.bin -DFORCEEMBEDDEDNNUE
target: -march=native
-----------------------------------------------------
found Fathom lib, trying to build
/Users/alessandromorales/Minic-3.30/Tools/build/common: line 1: ulimit: stack size: cannot modify limit: Operation not permitted
Common tools already loaded
======================================
Building Fathom
======================================
Building fathom_dev_linux_x64.o
clang: error: the clang compiler does not support '-march=native'
/Users/alessandromorales/Minic-3.30
======================================
Building Minic for Linux
======================================
Building /Users/alessandromorales/Minic-3.30/Dist/Minic3/minic_dev_linux_x64
******* RELEASE BUILD *******
-Wall -Wcast-qual -Wno-char-subscripts -Wno-reorder -Wmaybe-uninitialized -Wuninitialized -pedantic -Wextra -Wshadow -Wno-unknown-pragmas -DDEBUG_TOOL -DEMBEDDEDNNUEPATH=/Users/alessandromorales/Minic-3.30/Tourney/nn.bin -DFORCEEMBEDDEDNNUE -s -DNDEBUG -fno-math-errno -O3 -fopenmp-simd -march=native --std=c++17 -fno-exceptions -flto /Users/alessandromorales/Minic-3.30/Fathom/src/fathom_dev_linux_x64.o -I/Users/alessandromorales/Minic-3.30/Fathom/src -lpthread -ldl
clang: error: no such file or directory: '/Users/alessandromorales/Minic-3.30/Fathom/src/fathom_dev_linux_x64.o'
end of first compilation
some error
I'd like to test it against my ProteusSF-Piranha
Kind regards, Alex http://www.microsmeta.com/DBLOG/articolo.asp?articolo=1525
Thanks for reporting this. I'll have a look, compiling for M1 is a good target indeed.
/bin/bash: md5sum: command not found is a first issue for net downloading verification.
line 1: ulimit: stack size: cannot modify limit: Operation not permitted is another one possibly
clang: error: the clang compiler does not support '-march=native' is a bit surprising for me but the build.sh script itself will be able to handle that with build.sh exe_name version_name target, for instance build.sh minic dev -march=apple-silicon if that makes sense.
Found this : https://github.com/DMOJ/judge-server/issues/303
-march=native is a common M1 issue, when I meet it usually simply deleting that fixes my issue (for example with Ethereal)
Stockfish and derivatives makefile is easy to use on my Mac mini M1
Apple clang version 14.0.0 (clang-1400.0.29.102)
Target: arm64-apple-darwin22.1.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
output name: minic
version: dev
definition: -DDEBUG_TOOL -DEMBEDDEDNNUEPATH=/Users/alessandromorales/Minic-3.30/Tourney/nn.bin -DFORCEEMBEDDEDNNUE
target: -march=native
found Fathom lib, trying to build
/Users/alessandromorales/Minic-3.30/Tools/build/common: line 1: ulimit: stack size: cannot modify limit: Operation not permitted
Common tools already loaded
======================================
Building Fathom
======================================
Building fathom_dev_linux_x64.o
clang: *error: *the clang compiler does not support '-march=native'
/Users/alessandromorales/Minic-3.30
======================================
Building Minic for Linux
======================================
Building /Users/alessandromorales/Minic-3.30/Dist/Minic3/
******* RELEASE BUILD *******
-Wall -Wcast-qual -Wno-char-subscripts -Wno-reorder -Wmaybe-uninitialized -Wuninitialized -pedantic -Wextra -Wshadow -Wno-unknown-pragmas -DDEBUG_TOOL -DEMBEDDEDNNUEPATH=/Users/alessandromorales/Minic-3.30/Tourney/nn.bin -DFORCEEMBEDDEDNNUE -s -DNDEBUG -fno-math-errno -O3 -fopenmp-simd -march=native --std=c++17 -fno-exceptions -flto /Users/alessandromorales/Minic-3.30/Fathom/src/fathom_dev_linux_x64.o -I/Users/alessandromorales/Minic-3.30/Fathom/src -lpthread -ldl
clang: *error: *no such file or directory: '/Users/alessandromorales/Minic-3.30/Fathom/src/fathom_dev_linux_x64.o'
Maybe you can add an option for M1 and send me the files to replace 😊
Il giorno mer 7 set 2022 alle ore 18:19 Vivien Clauzon < @.***> ha scritto:
Found this : DMOJ/judge-server#303 https://github.com/DMOJ/judge-server/issues/303
— Reply to this email directly, view it on GitHub https://github.com/tryingsomestuff/Minic/issues/24#issuecomment-1239609603, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACAV7W7HBYPNHUAAFCSYG2DV5C6BLANCNFSM6AAAAAAQG47VPA . You are receiving this because you authored the thread.Message ID: @.***>
Just removing does not look good to me because you will end-up using a quite slow target which will be extremely bad for NNUE engines. Replacing it with the proper apple target should be ok. So maybe:
./Tools/build/build.sh minic dev -march=apple-latest
will do the trick.
Also it seems more recent version for clang is now supporting -march=native.
You can try new master, I added this as a test : https://github.com/tryingsomestuff/Minic/commit/34a36b0a1c9a097c9d61924696fe4033c64b8c30
You can try new master, I added this as a test : 34a36b0
Testing it on Windows 11 ARM64 (nehalem build) in the meanwhile. I've asked also to Darius of chessengeria (one of the few compilers owning an M1) to try to build it. Let me know if you need tests (J.honnold just helped me to solve crashes and now I have Berserk 9 220905 perfectly working also on M1 :-) http://talkchess.com/forum3/viewtopic.php?f=2&t=75911 )
Kind regards, Alex
Hi Vivien, thanks for your support!
***@***.*** Minic-3.30 % ./Tools/build/build.sh minic
dev -march=apple-latest
./Tools/build/build.sh: line 2: ulimit: stack size: cannot modify limit:
Operation not permitted
./Tools/build/common: line 1: ulimit: stack size: cannot modify limit:
Operation not permitted
Default embedded net
-----------------------------------------------------
/usr/bin/g++
/usr/bin/gcc
-----------------------------------------------------
Apple clang version 14.0.0 (clang-1400.0.29.102)
Target: arm64-apple-darwin22.1.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
-----------------------------------------------------
output name: minic
version: dev
definition: -DDEBUG_TOOL
-DEMBEDDEDNNUEPATH=/Users/alessandromorales/Minic-3.30/Tourney/nn.bin
-DFORCEEMBEDDEDNNUE
target: -march=apple-latest
-----------------------------------------------------
found Fathom lib, trying to build
./Tools/build/common: line 1: ulimit: stack size: cannot modify limit:
Operation not permitted
Common tools already loaded
======================================
Building Fathom
======================================
Building fathom_dev_linux_x64_apple-latest.o
clang: *error: **the clang compiler does not support '-march=apple-latest'*
/Users/alessandromorales/Minic-3.30
======================================
Building Minic for Linux
======================================
Building /Users/alessandromorales/Minic-3.30/Dist/Minic3/
******* RELEASE BUILD *******
-Wall -Wcast-qual -Wno-char-subscripts -Wno-reorder -Wmaybe-uninitialized
-Wuninitialized -pedantic -Wextra -Wshadow -Wno-unknown-pragmas
-DDEBUG_TOOL
-DEMBEDDEDNNUEPATH=/Users/alessandromorales/Minic-3.30/Tourney/nn.bin
-DFORCEEMBEDDEDNNUE -s -DNDEBUG -fno-math-errno -O3 -fopenmp-simd
-march=apple-latest --std=c++17 -fno-exceptions -flto
/Users/alessandromorales/Minic-3.30/Fathom/src/fathom_dev_linux_x64.o
-I/Users/alessandromorales/Minic-3.30/Fathom/src -lpthread -ldl
clang: *error: **no such file or directory:
'/Users/alessandromorales/Minic-3.30/Fathom/src/fathom_dev_linux_x64.o'*
end of first compilation
some error
***@***.*** Minic-3.30 %
Tried also -march=apple-silicon , got same error
Hi, I removed one of your message as it was looking as a duplicate. Also I edited the one above to make it easier to read.
Here, it seems the issue is
clang: *error: **the clang compiler does not support '-march=apple-latest'*
(the absence of ulimit is not really revelant here.)
So no chance with this target, it looks like clang15 support -march=native.
BTW, it seems Stockfish is using apple-silicon target, you can give it a try.
Thanks for reporting this. I'll have a look, compiling for M1 is a good target indeed.
Hi Vivien!
Thank you! I'll add soon your nice engine to my Gauntlet https://www.chess2u.com/t18076p1000-proteussf-developing-my-stockfish-derivative#121497