3 ms·
The article you link to uses Intel intrinsics, not built-in vector extensions. Intrinsics are probably the most popular method of doing SIMD but they are not p
by exDM69 3y ago
The article you link to uses Intel intrinsics, not built-in vector extensions.
Intrinsics are probably the most popular method of doing SIMD but they are not portable to other CPUs and are quite difficult to discover due to shorthand naming conventions and lack of general level documentation.
Each of the Intel intrinsic functions are well documented but figuring out which ones you need out of the 600 or so available functions is not easy. Situation is worse for ARM.
- unwind 3y agoOops, that's true! I should have dug harder. Thanks for pointing that out.
- janwas 3y agoI believe these drawbacks are mostly solved with our github.com/google/highway library which provides portable intrinsics, reasonably documented and grouped into categories :)
- Galanwe 3y ago> Each of the Intel intrinsic functions are well documented but figuring out which ones you need out of the 600 or so available functions is not easy. So true. One of the most valuable skill to grow when using Intel intrinsics is a fluent navigation and intuition of the intrinsics library. Nowadays things are much easier though, there are a lot of indexing websites and softwares where you can query, search, find intrinsics very quickly. Intel had an interactive intrinsics doc already 10 years ago.