I think the real market for this is for local inference.
The easiest example is xor, which can trivially be interpreted as either xoring one large integer or xoring a vector of smaller integers.
Take a look at the SWAR example here [0] as a pretty common/easy example of that technique being good for something in the real world.
Dedicated hardware is almost always better, but you can still get major improvements with a little elbow grease.
If one value is 0, it is 0.
If the signs are different, it is -1.
If the signs are the same, it is 1.
I’m sure those can be done with relatively few instructions using far less power hungry hardware.
WSL1 certainly felt that way, WSL2 just feels like any other virtualization manager and basically works the same. Not sure why people sings the praise of WSL2, I gave it a serious try for months but there is a seemingly endless list of compatibility issues which I never had with VMWare or VirtualBox, so I just went back to those instead and the experience is the same more or less.
Not sure what you mean by “default shell”. The default shell on Windows is this: https://en.wikipedia.org/wiki/Windows_shell. I don’t suppose you mean booting into Bash. Windows doesn’t have any other notion of a default shell.
> A demo of bitnet.cpp running a BitNet b1.58 3B model on Apple M2:
And this is in their Windows build instructions:
> Important! If you are using Windows, please remember to always use a Developer Command Prompt / PowerShell for VS2022 for the following commands