As far as I know, no. Other engines have popcount compiles, only (named as "modern" in some cases (Stockfish)).
But I will be more careful, of course. In the future, I will try all compiles of a new engine or new engine-version on my AMD-machine and will use the fastest compile.
Because there are so much different compiles and even more names for them...really complicated. So, trying all compiles and choose the fastest is the best way to avoid any mistakes in the future.
SPCC: Testruns of Slow Chess 2.2 and Rubichess 1.7.3 finished
Moderators: hgm, Rebel, chrisw
-
- Posts: 2435
- Joined: Sat Sep 03, 2011 7:25 am
- Location: Berlin, Germany
- Full name: Stefan Pohl
-
- Posts: 584
- Joined: Fri Mar 30, 2018 7:20 am
- Full name: Andreas Matthies
Re: SPCC: Testruns of Slow Chess 2.2 and Rubichess 1.7.3 finished
First: Thanks for testing!
Next release of RubiChess will also offer three binaries (bmi2/popcount/legacy). New and maybe interesting for other authors is a test I have implemented now that is executed at start of the engine comparing the binary with the machine (cpu features) it runs on and
- displays an error message if the machine is unable to run the binary (bmi2 binary on a non-bmi2 machine or popcount binary on a very old machine) and exits without crashing (like other engines do)
- displays a warning "bad performance" if the binary is not optimal for the machine (e.g. running the popcount or legacy binary on an intel bmi2 machine or running the bmi2 binary and AMD).
Edit: Just noticed that the engine also exits in the "bmi2 binary on AMD" case. Performance is just too bad.
This test uses the well documented cpuid api and can be seen here https://github.com/Matthies/RubiChess/b ... s.cpp#L280
Regards, Andreas
Next release of RubiChess will also offer three binaries (bmi2/popcount/legacy). New and maybe interesting for other authors is a test I have implemented now that is executed at start of the engine comparing the binary with the machine (cpu features) it runs on and
- displays an error message if the machine is unable to run the binary (bmi2 binary on a non-bmi2 machine or popcount binary on a very old machine) and exits without crashing (like other engines do)
- displays a warning "bad performance" if the binary is not optimal for the machine (e.g. running the popcount or legacy binary on an intel bmi2 machine or running the bmi2 binary and AMD).
Edit: Just noticed that the engine also exits in the "bmi2 binary on AMD" case. Performance is just too bad.
This test uses the well documented cpuid api and can be seen here https://github.com/Matthies/RubiChess/b ... s.cpp#L280
Regards, Andreas
-
- Posts: 550
- Joined: Tue Nov 19, 2019 8:48 pm
- Full name: Alayan Feh
Re: SPCC: Testruns of Slow Chess 2.2 and Rubichess 1.7.3 finished
An issue with such code is that it could handicap future testing.RubiChess wrote: ↑Tue Aug 04, 2020 8:28 am First: Thanks for testing!
Next release of RubiChess will also offer three binaries (bmi2/popcount/legacy). New and maybe interesting for other authors is a test I have implemented now that is executed at start of the engine comparing the binary with the machine (cpu features) it runs on and
- displays an error message if the machine is unable to run the binary (bmi2 binary on a non-bmi2 machine or popcount binary on a very old machine) and exits without crashing (like other engines do)
- displays a warning "bad performance" if the binary is not optimal for the machine (e.g. running the popcount or legacy binary on an intel bmi2 machine or running the bmi2 binary and AMD).
Edit: Just noticed that the engine also exits in the "bmi2 binary on AMD" case. Performance is just too bad.
This test uses the well documented cpuid api and can be seen here https://github.com/Matthies/RubiChess/b ... s.cpp#L280
Regards, Andreas
For example, let's assume at some point AMD will come out with a CPU with direct hardware support for BMI2. Then, the BMI2 compile should be the fastest. Except Rubi will refuse to run it because it will detect "bmi2" and "amd".
-
- Posts: 584
- Joined: Fri Mar 30, 2018 7:20 am
- Full name: Andreas Matthies
Re: SPCC: Testruns of Slow Chess 2.2 and Rubichess 1.7.3 finished
Correct. This test needs maintenance and even backporting to old releases if you want them run on new hardware.Alayan wrote: ↑Tue Aug 04, 2020 9:26 am An issue with such code is that it could handicap future testing.
For example, let's assume at some point AMD will come out with a CPU with direct hardware support for BMI2. Then, the BMI2 compile should be the fastest. Except Rubi will refuse to run it because it will detect "bmi2" and "amd".
I initially had some performance benchmark in the test that compared speed of pext slider attacks vs. magic bitmap attacks but that seemed a bit overengineered and I removed it.