x86-64, pop, popcnt, win-32bit, Intel, x86-32, arm64, amd64, modern, vnni, old, bmi2, m1, apple silicon, sse4, pgo, pext, ... ?, .... ?!, .....??
What is this all about ? Why all these symbols ? What are the markings needed for ?
I just want to use the right chess engine for my computer, and it should work !
And you're right, that's how it should be. But it usually isn't.
How-To is intended for inexperienced users.
The chess engine should run without any fuss on your computer.
You use a Mac, download the engine for that operating system, install it in your favorite GUI, and it should work. And you shouldn't care if your Mac is 32 or 64 bit, or if your processor is Intel or Apple Silicon M1. The engine should work.
But... this is usually not the case!
When you use friendly chess software that automatically selects the right chess engine for your computer, then it is as it should be. Technology should help, make it easier, make it convenient to use the capabilities of the software and the chess engine.
When you wish to use, for example, the offer of a well-known commercial engine manufacturer or the benefits of open source, download a free chess engine and use it, you should often know which version to choose. Otherwise, you will be left with the trial-and-error method or searching for answers on the Internet.
From the perspective of the last few decades, although chess engines are at an increasingly high level, their manufacturers and developers still force ordinary users into undesirable choices.
You buy or download a free chess engine, it should run on your computer without any compilation. That's how it should be...
Why is this important ?
Because if you choose wrongly, at worst the chess engine will not work, and at best the chess engine will work and play at a lower level and with less power than it could.
This How to is intended to give you the knowledge that will enable you to choose the most suitable chess engine for your computer.
We will use the official version of the Stockfish chess engine to show all the nuances of the selection.
Always download chess engines from safe places on the web with a good and established reputation.
Before I start this How to for good, I will write that if you have obtained a chess engine from a safe source, you are an inexperienced user, and you want to have a working chess engine quickly and easily, then:
first choose the version with avx2 in the name, because it's giving significant extra speed and power for most 64-bit computers made since 2013 (AMD or Intel CPU's).
or... just run one by one and see if it works :)
Contrary to what you might think, this is a relatively safe way to check the acquired chess engine(s), but not the least effective one, since even if any of them will allow you to run and work, it will not be optimally selected for your Mac. Nevertheless, it is a way.
It is worth knowing that the chess engine:
Designed for a specific operating system, such as Mac, by default will not work under any other, such as Linux or Windows.
Designed for a specific architecture usually will not work on another architecture, e.g. Linux x86-64 will not work on Linux arm64 and vice versa. There are some exceptions here, e.g., the ability to run Windows 32-bit engines on Windows 64-bit, the ability to run Mac engines compiled for older Intel processors in a Mac environment with an Apple Silicon processor, and so on.
Let's move on to the substance.
The choice starts with a simple thing - choosing a chess engine for the operating system your computer uses.
From the dedicated page you can download Stockfish 15. 1 or directly - below.
If you are using Mac, choose the chess engine for Mac.
If you are using Mac, do not get chess engine for Linux.
If you are using Mac, do not get chess engine for Windows.
Sometimes in the name of the chess engine instead of the name Mac, you can find names:
darwin
macOS
osx
They mean the same thing - a chess engine dedicated to Mac computer.
#2.
Now you should choose the version suitable for your Mac.
If you are using an Apple Silicon-based Mac, then choose Stockfish-15.1_Mac_Apple_Silicon.7z
If you are using an Intel-based Mac, then choose Stockfish-15.1_Mac_Intel.7z
If you don't know how to check which Mac you are using, then go to Apple's website.
What happens if you choose wrong ?
If you choose the Apple Silicon version having Intel-based Mac Stockfish will not start.
If you choose the Intel version having Apple Silicon-based Mac, there is a chance that Stockfish will start up, but will be weaker than the Apple Silicon version.
#2.1.
Apple Silicon-based Mac.
After opening the Stockfish-15.1_Mac_Apple_Silicon.7z archive, you will see:
Given the specifications of your Mac, the choice is easy: Stockfish-15.1_Mac_Apple_Silicon.
Chess engines for Macs with Apple's Silicon processor may also have additions in the name:
apple_silicon, as, m1, m1pro, m1max, m1ultra,
m2, m2pro, m2max, ...
You've probably noticed a pattern in the naming.
Today's chess engine compilations for Apple Silicon-based Mac should work on all Macs equipped with Apple Silicon processors, i.e. M1, M1 Pro, M2, etc.
To get Stockfish compiler information, after launching it, type the compiler command and confirm with Enter.
The file command can also be helpful.
Apple Silicon-based Mac can also use some chess engines designed for Intel-based Macs.
This is possible because they are much more powerful and equipped with appropriate translate layer. For example, if you see an engine called:
Stockfish-15.1_Mac_Intel_x86-64
or
Stockfish-15.1_Mac_Intel_popcnt
it will also work on your Mac with an Apple Silicon processor, although it will be marginally slower and not as strong.
The most suitable version of Stockfish will be the one that will allow to run, work without problems and will be the fastest.
That's the end of How to. Congratulations!
You've chosen the right version for your Apple Silicon-based Mac.
#2.2.
Apple Intel-based Mac.
After opening the Stockfish-15.1_Mac_Intel.7z archive, you will see:
Choose the Stockfish_15.1_Mac_Intel_Old if you are using an old Mac. By old Mac I mean a machine from 2007 or older.
Stockfish_15.1_Mac_Intel_Old which, although the slowest and weakest, is designed to run on all Mac equipped with 64-bit Intel CPU.
Choose the Stockfish_15.1_Mac_Intel_Modern if you are using modern Mac. By modern Mac I mean a machine from 2008 or newer.
Stockfish_15.1_Mac_Intel_Modern which, is designed to run on all Macs equipped with modern 64-bit Intel CPU.
Some versions of Stockfish, or other chess engines, have various additions in their names.
Now, I offer you a little experiment.
You can download the following archive containing development versions of Stockfish (newer than Stockfish 15.1),
Here's what you'll see when you open it:
Please check the other versions of Stockfish to see if they will run on your computer and to see which one is the fastest.
Stockfish with Apple_Silicon in the name will not allow to run.
Stockfish, which has avx512 in its name, if it starts, will probably be the fastest and strongest version for your computer.
Stockfish, which has avx2 in its name, will probably be of slower speed and weaker to the avx512 version.
Stockfish that has modern in its name will probably be a slower than the avx2 versions but faster (from a few to several percent) and stronger than the Stockfish_15.1_Mac_Intel_x86-64 version.
How exactly to check which of the above-mentioned versions is the fastest ?
Run Stockfish, type the bench command and press Enter key.
By doing so, you will launch the Stockfish internal benchmark, which will present the result on the screen after a while.
If Stockfish does not start, it means that this version is not supported by your computer and you should choose another one.
Here is the result of the Stockfish-dev-20230123-596a528c_Mac_Intel_x86-64 benchmark: 679511 Nodes/second.
Here is the result of the Stockfish-dev-20230123-596a528c_Mac_Intel_x86-64-modern benchmark: 794087 Nodes/second.
Depending on the speed of your computer, the benchmark results you will see may differ from those I presented.
The most suitable version of Stockfish will be the one that will allow to run, work without problems and will be the fastest.
To get Stockfish compiler information, after launching it, type the compiler command and confirm with Enter.
The file command can also be helpful.
If you are in the process of choosing another chess engine that does not offer the bench command, then the gradation of engine speed is this:
vnni512, vnni256, avx512, avxvnni
Are the fastest and strongest versions.
bmi2, avx2
Very fast and strong versions.
popcnt, popc, pop, modern, sse41, sse4.1, sse4.2, ...
Are the versions that provide good speed and strength.
ssse3, sse3
Are the versions that provide average speed and strength.
x86-64, x64, amd64, sse2, sse, legacy
Are the slower and weakest versions, but provide maximum compatibility allowing the engine to run even on the oldest 64-bit Mac.
I have described the most important of these, which are the most commonly used and have the biggest impact on the best choice of chess engine.
That's the end of How to. Congratulations!
You've chosen the right version for your Apple Intel-based Mac.
Always download chess engines from safe places on the web with a good and established reputation.
In the Files area you will find free chess engines for download.