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 Windows, download the engine for that operating system, install it in your favorite GUI, and it should work. And you shouldn't care if your Windows is 32 or 64 bit, or if your processor is Intel, AMD or another eg. from the ARM family. 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 Windows.
We will use the official version of the Stockfish chess engine to show all the nuances of the selection.
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 computer. Nevertheless, it is a way.
It is worth knowing that the chess engine:
Designed for a specific operating system, such as Windows, by default will not work under any other, such as Linux or Mac.
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 Windows.
From the dedicated page you can download Stockfish 15. 1 or directly - below.
If you are using Windows, choose the engine for Windows.
If you are using Windows, do not get the engine for Mac.
If you are using Windows, do not get the engine for Linux.
Now you should choose the version suitable for your Windows.
If the version of Windows on your computer is 32 bit, then choose Stockfish-15.1_Windows_x32.7z
If Windows on your computer is a 64 bit version, then choose Stockfish-15.1_Windows_x64.7z
If you don't know how to check which Windows you are using, go to Microsoft's website.
What happens if you choose wrong ?
If you choose the x64 version having Windows 32 bit, Stockfish will not start.
If you choose the x32 version having Windows 64 bit, Stockfish will run but will be much weaker than the 64 bit version.
If you are using Windows 32 bit, then when you open the Stockfish-15.1_Windows_x32.7z archive, you will see the following:
Choose Stockfish-15.1_general-32 if you are using a very old computer. A very old computer, I mean a machine that is from 1999 or older.
Choose Stockfish-15.1_x86-32 if you are using 2000 or newer computer.
That's the end of How to. Congratulations!
You've chosen the right version for your computer running 32-bit Windows.
If you are using Windows 64bit, then when you open the Stockfish-15.1_Windows_x64.7z archive, you will see the following:
Open and choose the stockfish_15.1_win_x64 folder if you are using an old computer. By old computer I mean a machine from 2007 or older. In this folder is stockfish-windows-2022-x86-64 which, although the slowest and weakest, is designed to run on all computers equipped with 64-bit Windows.
Now, I offer you a little experiment.
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, which has bmi2 in its name, will probably be the fastest and strongest version for your computer.
Stockfish, which has avx2 in its name, will probably be of very similar speed and strength to the bmi2 version.
Stockfish that has popcnt or modern in its name will probably be a slower than the bmi2 and avx2 versions but faster (from a few to several percent) and stronger than the stockfish_15.1_win_x64 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-windows-2022-x86-64 benchmark: 810514 Nodes/second.
Here is the result of the stockfish-windows-2022-x86-64-modern benchmark: 865330 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.
If you are in the process of choosing another Windows 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 and avx2
Very fast and strong versions.
popcnt, popc, pop, modern, sse41, sse4.1, sse4.2, ...
Are the versions that provide good speed and strength.
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 Windows.
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 computer running 64-bit Windows.
In the Files area you will find free chess engines for download.