Boost SIMD
Hi ! It will be a very short post about Boost SIMD (I am sick).
SIMD is a pretty nice feature when you need to get the max performances from your code but it is tough to implement effectively and the portability is a nightmare.
Boost SIMD is a library that tries to allow high performances thanks to Template Meta-programming while also enabling a good portability. This is really an interesting library I hope it will come soon part of Boost.
There are several Template Meta-programming Matrix Libraries that are having such kind of SIMD code, but it is always tailored for their need, while having such generic library is really helpful for anyone.
I performed a few tests for R&D purpose on my software for a small set of kernels really causing me issues to code while with this library it was easy, performance was good and the clarity of the code is super important. I am using reductions, bitwise operations and few other strange stuff that are only present in the library: it is just to give an idea of the amount of love that has been put inside it. Also, if some features present on a given CPU and instruction set is not supported, they are emulated.
As said early it will be really important to have such library in standard in the future versions of Boost.
- Git Hub: https://github.com/NumScale/boost.simd (It looks like they killed the commit history with the last release)
- Documentation : https://developer.numscale.com/bsimd/documentation/v1.17.6.0/
- Tutorials: https://developer.numscale.com/bsimd/documentation/v1.17.6.0/tutorials.html
- Presentation at CPP Conf (there are a few other videos):
Leave Boost SIMD to:
Read more #programming posts
Best Posts From Julien BOUCARON
We have not curated any of boucaron's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From Julien BOUCARON
- Gandalf Testing Ender 3 Profile on ChopChop3D Slicer
- ChopChop3D Slicer History in Images
- 3D Printing Face shields -> Print quickly and reliably
- ChopChop3D Slicer BETA forthcoming update
- Platform.io for embedded development
- Tutorial: Setup an Apple MacOS Mojave Virtual Box VM
- Tutorial: How to backup all your Steem posts ?
- High throughput 3D printing with a regular nozzle ^^
- XMas stuff: OpenSCAD Vase/Bowl Generator
- ChopChop3D Slicer BETA_08 is out ! Having fun with the new Brim algorithm