3 ms·
Updated my article from 2019. It’s not limited to C++, equally good for C. Over time, the support slowly arrives to other languages too, like C#: https://doc
by Const-me 6y ago
Updated my article from 2019.
It’s not limited to C++, equally good for C.
Over time, the support slowly arrives to other languages too, like C#: https://docs.microsoft.com/en-us/dotnet/api/system.runtime.intrinsics.x86.sse?view=net-5.0 https://docs.microsoft.com/en-us/dotnet/api/system.runtime.i... https://docs.microsoft.com/en-us/dotnet/api/system.runtime.intrinsics.x86.avx?view=net-5.0 https://docs.microsoft.com/en-us/dotnet/api/system.runtime.i...
- bobthedino 6y agoSIMD support is also currently in development for Java: https://openjdk.java.net/jeps/338 https://openjdk.java.net/jeps/338
- smhenderson 6y agoIt's a really well written article, thank you for the work!
- gameswithgo 6y agoRust as well, and the intrinsics are identically named so your tutorial is good for rust as well.
- pjmlp 6y agoAnd D as well, although the support varies a bit across all three backends.
- MaxBarraclough 6y agoHow about other languages that use GCC/LLVM, like Zig, Rust, Ada, or for that matter FORTRAN?
- pjmlp 6y agoFortran for sure, given its use in HPC and GPGPU programming since it exits (we no longer use all caps for its name :) ). Only GNAT Ada uses GCC/LLVM, the other surviving Ada vendors have their own compilers, no idea how much they expose the underlying SIMD intrisics. Rust has some initial support, I don't follow it, last time I checked it was only available on nightly with a very basic subset on stable. Zig no idea, I don't follow it that much, being yet another C just with bounds checking isn't something I care about.
- jpm48 6y agoThis is really nice, I teach intrinsics to my MSc students so will add this to their reading list. This is a recent set of notes I gave them showing how to go from simple CPU only to Threaded SIMD + OpenGL https://nccastaff.bournemouth.ac.uk/jmacey/post/GridVis/gridvis/ https://nccastaff.bournemouth.ac.uk/jmacey/post/GridVis/grid...