Closed rontant closed 4 years ago
I am reasonably confident that is only needed for the pext instruction. Assuming that I am right and the Rock64 does not support the BMI2 instruction set, the easiest workaround is to simply remove line 30 in Winter/src/general/magic.cc
If this does not suffice you can further replace -march=native with -m64. This may have some effect on performance.
Could you try that and get back to me? If it works I will patch Winter to avoid issues like this for other users in the future.
Thank you very much for your prompt response.
Simply removing line 30 as per your suggestion works. We can keep -march=native option.
You are right that rock64 doesn't support BMI2 set.
root@rock64:~/Winter# lscpu
Architecture: aarch64
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
Vendor ID: ARM
Model: 4
Model name: Cortex-A53
Stepping: r0p4
CPU max MHz: 1296.0000
CPU min MHz: 408.0000
BogoMIPS: 48.00
Flags: fp asimd evtstrm aes pmull sha1 sha2 crc32
root@rock64:~/Winter# file Winter
Winter: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=75e4cd43bbcd91a9a975d55950f4831a724165ba, not stripped
To make sure everything works fine, I have this compiled version of Winter pitted against Lc0 using my own Javascript/PHP GUI. Interestingly, Winter managed to check mate Lc0 in 47 moves.
Again, thank you very much. Just let me know if you need any info regarding my rock64.
I am pasting the moves below just in case you are interested:
[ white: "Winter 0.84"] [ black: "Lc0 I-forget-the-network-file-name"]
Thanks for the bug report and game. I have made an update so you shouldn't have to change any source code when you compile Winter in the future.
I am closing this issue now!
When trying to compile for my Rock64, a Raspberry Pi like SBC, I got an error here:
root@rock64:~/Winter# make -j4 g++ -c -DNDEBUG -O3 -flto -g3 -Wall -Wno-sign-compare -march=native -std=c++11 -Isrc -Isrc/general -Isrc/learning src/general/bookkeeping.cc -o src/general/bookkeeping.o g++ -c -DNDEBUG -O3 -flto -g3 -Wall -Wno-sign-compare -march=native -std=c++11 -Isrc -Isrc/general -Isrc/learning src/general/wdl_score.cc -o src/general/wdl_score.o g++ -c -DNDEBUG -O3 -flto -g3 -Wall -Wno-sign-compare -march=native -std=c++11 -Isrc -Isrc/general -Isrc/learning src/general/debug.cc -o src/general/debug.o g++ -c -DNDEBUG -O3 -flto -g3 -Wall -Wno-sign-compare -march=native -std=c++11 -Isrc -Isrc/general -Isrc/learning src/general/parse.cc -o src/general/parse.o g++ -c -DNDEBUG -O3 -flto -g3 -Wall -Wno-sign-compare -march=native -std=c++11 -Isrc -Isrc/general -Isrc/learning src/general/magic.cc -o src/general/magic.o g++ -c -DNDEBUG -O3 -flto -g3 -Wall -Wno-sign-compare -march=native -std=c++11 -Isrc -Isrc/general -Isrc/learning src/learning/machine_learning.cc -o src/learning/machine_learning.o src/general/magic.cc:30:10: fatal error: immintrin.h: No such file or directory
include